Sticking this on a Play plugin (like in activator-template-server) or just on the Global object (which I guess is how we do it in activator itself to date) makes it possible to shut this down when reloading the app and in general gives control over when lifecycle events occur.

btw a lot of these comments could be trello cards vs. fixed immediately.