We will alter the service options slightly to contain an arbitrary interface{} Value instead of its ListenAddr. This can then be used by transports to receive arbitrary values from services.
Building on this, it allows us to write a transport that multiplexes multiple services under a single connection. using the new Value so services can pass an ID. This id can be used to forward the request to the correct service.