Get rid of extending the abstract Module class and make it composable with interfaces.
Also, don't return a new instance of the module for each request, wo-ho dangerous. Must give it a think or two.