Still refactoring. Let the dependency injection gods guide me through this!