code: def synced(func):
      '''
      Decorator for functions that should be called synchronously from another thread
  
      :param func: function to call
      '''
  
      def wrapper(self, *args, **kwargs):
          '''
          Actual wrapper for the synchronous function
          '''
          task = DataManagerTask(func, *args, **kwargs)
          self.submit_task(task)
          return task.get_results()
      return wrappef synced(func):
      '''
      Decorator for functions that should be called synchronously from another thread
  
      :param func: function to call
      '''
  
      def wrapper(self, *args, **kwargs):
          '''
          Actual wrapper for the synchronous function
          '''
          task = DataManagerTask(func, *args, **kwargs)
          self.submit_task(task)
          return task.get_results()
      return wrapper
docs: Decorator for functions that should be called synchronously from another thread
  
      :param func: function to call