I humoured you and read your link. All I learned was that I should rename my repaint function to reflow. And I know about using timeouts; they're precisely what I've been avoiding. Before moving my code to this plugin, I got by without them by using the can.batch.start callback (outside of an extended can.Map, however).
What am I trying to accomplish? Check out my plugin's readme.