code: async def register(self, channel, event, callback):
          
          channel = self.channel(channel)
          event = channel.register(event, callback)
          await channel.connect(event.name)
          return channel
docs: Register a callback to ``channel_name`` and ``event``.
  
          A prefix will be added to the channel name if not already available or
          the prefix is an empty string
  
          :param channel: channel name
          :param event: event name
          :param callback: callback to execute when event on channel occurs
          :return: a coroutine which results in the channel where the callback
              was registered