code: def register(self, plugin):
          
          for listener in plugin.listeners:
              self.listeners[listener].add(plugin)
          self.plugins.add(plugin)
          plugin.messenger = self.messages
          plugin.start()
docs: Add the plugin to our set of listeners for each message that it
          listens to, tell it to use our messages Queue for communication, and
          start it up.