Features overview of this 'Inversion of control' implementation
- Setter injection via properties
- Factory injection
- Autowire of dependencies
- Caching components (making them as sigleton)
- Lazy load of components. Extremely useful when adding controllers as dependecies
- Can be used with or without interface builder
- Extensibility