Connection Multiplexing Assumptions:
  1. This is a Request/Reply protocol
  2. Each Request/Reply type is serialized as a message object that contains header and body.
ConnectionMultiplexer Request==CM
  1. service(Request,MessageIdentifier)
  2. write(Stream)
  3. handleReply(MessageHeader,StreamForMessageBody)
Request==CM
  1. service(Request)
  2. write(Stream)
ConnectionMultiplexer