Client example now receives replies asynchronously.

For good network communication, this is necessary, as a collection might drop at any time, so you can't rely on a reply ever arriving. Also, in a game there is no 1:1 relationship between a request and a reply. You may fire one shot and 3 enemies might fire at the same time, and the client will want to know right away.