Added dagger. Made use of MVP. Added unit tests.