Added a controller to delegate some responsibility from the router, also fixed the hover bug.