a simple refactoring exercise that is meant to teach something about dependency inversion and dependency injection.