docs: def mapListener(self, to, From, protocolName, protocolFactory,
          isClient=False):
          """
          Returns 2-tuple of (expiryTime, listenerID)
          """
          listenerID = self._nextConnectionID(From, to)
          call = reactor.callLater(120,
                                   self.unmapListener,
                                   listenerID)
          expires = datetime.datetime(*time.localtime(call.getTime())[:7])
          self.inboundConnections[listenerID] = (
              _ConnectionWaiter(
                  From, to, protocolName, protocolFactory, isClient
              ),
              call
          )
          return expires, listenerID