That's a great question. I reviewed the code and did find one problem with the way this is currently configured: the event handlers refer to an object instance, so I suspect that once the object is instantiated by the ginjector, the reference maintained by the handlers keep that instance's refcount from dropping to zero, so the Javascript GC won't clean it up. It's technically harmless to have multiple instances hanging around handling events but it's poor hygiene. 

I don't think this wants to be a singleton and I'd rather its lifetime be scoped to the few seconds it's actually used, so I've changed the event registration--it now registers for the global events only when discovering templates, and unregisters immediately thereafter.

Are there other concerns associated with handling global events by non-singletons?