Async

The queries from the client have been shown interleaved with the responses from the server.
However, each message is tagged with an identifier, which lets us use the protocol
asynchronously, like this: