We use a technique similar to this in Montage, which we call the draw cycle: http://montagejs.org/docs/draw-cycle.html. Because it's built into the components, everything in the webapp reads from the DOM at the same time, and then writes to the DOM at the same time, completely avoiding the thrashing.