Implemented IViewModel First approach.