An inversion-of-control container for managing dependencies. Supports constructor, property and method injection