Inversion of control/dependency injection container for C++03