C++ IoC Container for Dependency Injection