This note touches a problem of developing generic mathematical software for object-oriented modeling and simulation of complex dynamic systems. More specifically, it focuses on designing the C++ class templates that could communicate with source classes comprising an object model and could process their data. This problem is of great importance for models involving a large number of different classes (types) with complex data processing. The basic idea is the use of mechanism of pointers to member functions that allows design patterns to be effectively incorporated into generic object models. In case of ODE solvers, member pointers provide access to source class member functions that describe the right-hand sides of ODEs, have control over the integration process, and make specialized computations.