Issue #281 Initial refactoring to use Dagger for Dependency Injection.