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:

2 define war
3 define freedom
3 ok freedom{1} is{1} slavery
2 ok war{1} is{1} peace

Support for asynchronous handling of messages is not a part of PlainTalk, but it is recommended that protocols built on top of PlainTalk implement support for it this way.