docs: def add_handler(self, type, actions, **kwargs):
          """
          Add an event handler to be processed by this session.
  
          type - The type of the event (pygame.QUIT, pygame.KEYUP ETC).
  
          actions - The methods which should be called when an event matching this specification is received.
          more than one action can be tied to a single event. This allows for secondary actions to occur along side already existing actions such as the down errow in the List.
          You can either pass the actions or action as a single parameter or as a list.
  
          kwargs - An arbitrary number of parameters which must be satisfied in order for the event to match.
          The keywords are directly matched with the instance variables found in the current event
          Each value for kwargs can optionally be a lambda which must evaluate to True in order for the match to work.
  
          Example:
  
          session.add_handler(pygame.QUIT, session.do_quit)
  
          session.add_handler(pygame.KEYDOWN, lambda: ao2.speak("You pressed the enter key."), key = pygame.K_RETURN)
          """
          l = self._events.get(type, [])
          h = Handler(self, type, kwargs, actions)
          l.append(h)
          self._events[type] = l
          return h