IoC container + tests