code: def get_handlers(self, ev, state=None):
          
          ev_cls = ev.__class__
          handlers = self.event_handlers.get(ev_cls, [])
          if state is None:
              return handlers
  
          def test(h):
              if not hasattr(h, 'callers') or ev_cls not in h.callers:
                  # dynamically registered handlers does not have
                  # h.callers element for the event.
                  return True
              states = h.callers[ev_cls].dispatchers
              if not states:
                  # empty states means all states
                  return True
              return state in states
  
          return filter(test, handlers)
docs: Returns a list of handlers for the specific event.
  
          :param ev: The event to handle.
          :param state: The current state. ("dispatcher")
                        If None is given, returns all handlers for the event.
                        Otherwise, returns only handlers that are interested
                        in the specified state.
                        The default is None.