Isn't this an implementation for a very special case? Or are you advocating special listeners for waitForElementVisible / waitForElementPresent calls?
I don't usually wait for body - usually I'm waiting for something else that's been loaded asynchronously from a second JS call on the page, or some other thing happening in the ways of RIA rather than the static web.
HTH, although I doubt it...
Dan