TODO: maybe refactor lions.js work to be done by the router, but somehow keep the event aggregator