Java and the need for Dependency Injection