code: def run(self, func=None):
          
          to_run = self.prepare_namespace(func)
          result = to_run(*self.args, **self.kwargs)
          return result
docs: Evaluates the packaged function as func(*self.args,**self.kwargs)
          If func is a method of an object, it's accessed as getattr(self.obj,__name__).
          If it's a user-defined function, it needs to be passed in here because it can't
          be serialized.
  
          Returns:
              object: function's return value