Simple IoC container, makes it easier to debug

There are already many frameworks to support Inversion of Control (IoC). Most of the frameworks use reflection and use their own code to create a new object. This makes it harder to debug your code and you have no control about how the object is created.