Added ViewModel and presenter classes and updated git ignore