Real-time updates with websocket. Lots of improvements and fixes.