code: def decorate(self, func, target, *anoop, **kwnoop):
          
          if target:
              self.target = target
  
          def decorated(decorated_self, *args, **kwargs):
              self.handle_target(
                  request=decorated_self.request,
                  controller_args=args,
                  controller_kwargs=kwargs
              )
              return func(decorated_self, *args, **kwargs)
  
          return decorated
docs: decorate the passed in func calling target when func is called
  
          :param func: the function being decorated
          :param target: the target that will be run when func is called
          :returns: the decorated func