Here's the first step of moving the update region management to the server. The refresh on window moves is not optimized yet, so it will probably flicker quite a bit, but things should still be painted properly in the end. If you feel like giving this a try, I'm interested in hearing about any case where things don't repaint correctly.