Added ServiceManager as Dependency Injection container. Added Application and puzzle objects and implemented very basic app flow. Also refactored lot of the code.