code: def update_settings(self, settings):
          
          new_settings = copy.copy(self._settings)
          new_settings.update(settings)
          if self.settings != new_settings:
              yield from self._stop()
              self._settings = settings
              self._controller.save()
              if self.enable:
                  yield from self.start()
          else:
              # When user fix something on his system and try again
              if self.enable and not self.current_engine().running:
                  yield from self.start()
docs: Update settings and will restart the VM if require