Yeah, you're right. I'll look into seeing if I can bubble this code up to the `fire()` method. I think the original reason it was here is because we were just testing if something like this would work. It makes sense to put this up in the upstream `fire()` so I'll do that, although it will need serious testing. 

If I do move it up to the upsteam `fire()`, should I add an `if { ... }` around this block scoping it to just this event?