Makes use of Singletons and more MVC like