A somewhat asynchronous networking/protocol exercise!