docs: def listen(self):
          '''Listen for events as they come in'''
          try:
              self._pubsub.subscribe(self._channels)
              for message in self._pubsub.listen():
                  if message['type'] == 'message':
                      yield message
          finally:
              self._channels = []