Refactoring: Unit Testing and DI.