'tick' belongs to createjs. This might work:
Something else, if you add a listener and then add it again, it will trigger twice. You could check to see if you've done that already. Something like this:
listening = true;
Works perfectly! Thank you, Colin.
Related, and important to be aware of in Canvas mode, is that event listeners on clips don't just persist when they leave the stage, they keep running.
It would be nice if Animate didn't dispatch events to clips that aren't being rendered, but it does. It would be nice if there was some property on clips that event handlers could monitor to reliably determine if they're being rendered, but there isn't. So until Adobe improves this situation, it's something we have to manage ourselves.