Exercise in DI from Kyle Griffin