Mixin for outer layer interfaces to be notified of incoming messages (commands and responses). Having received a command, the client is obliged to send a response. A client can only have one send outstanding at any time. If commands come in quickly, the client is responsible for queueing its responses to them. Note that each command delivered to a target involves memory allocated in the servers heap, which is only released on client closure or when a response is sent.