Dependency Injection for C++