Implemented the MVP and Singleton design patterns
Clean the project