C++ Dependency Injection Framework