Ah, you're right; I didn't realize/remember that you've hooked up View's visibilitychange to listen for window's as well. That should simplify this considerably.