Don't block while collecting data so that we can maintain the drops, send/receive messages.
Add support for predicting the current time on the client, which should allow much more smooth UI changes.