code: def make_event(event: Callable) -> Callable:
      
      @property  # type: ignore
      @wraps(event)
      def actualevent(self):  # pylint: disable=missing-docstring
          name = event.__name__[3:]
          try:
              # the getter post processing function
              # is preserved with an underscore
              getter = event(self).__name__
          except AttributeError:
              getter = None
          return Event(name, self._uuid, getter)  # pylint: disable=protected-access
  
      return actualevent
docs: Create an event from a method signature.