This package specifies a means for obtaining objects in such a way as to
 maximize reusability, testability and maintainability compared to
 traditional approaches such as constructors, factories, and service
 locators (e.g., JNDI). This process, known as dependency
 injection, is beneficial to most nontrivial applications.