Dependency Injection
Enables testing
Introduction