Create a light-weight dependency injection framework

`ObjectConfigurator` object is responsible for configuring objects by instantiating them and wiring up all required dependencies.