Incorporating MVVM

Major Design Patterns have been implemented, these include:
- MVVM (Model, View, View Model)
- Singleton (One and only one instance of a class)
- Mediator (Carries messages between view models)