More history

* last 5 runs are now kept in memory
* server streams changes to the client, which maintains the same app state as the server