An Experiment in Dependency Injection in C++