code: def remove_listener(self, event, callback, single=None, priority=None):
          
          event_stack = self._events[event]
          for x in event_stack:
              if x['callback'] == callback and \
                 (single is None or x['single'] == single) and \
                 (priority is None or x['priority'] == priority):
                  event_stack.remove(x)
                  break
          else:
              raise KeyError('Listener not found for "%s": %s' % (event,
                             callback))
docs: Remove the event listener matching the same signature used for
          adding it.  This will remove AT MOST one entry meeting the signature
          requirements.