New C++ API: Keep reference to solver object in non-solver objects. (#4549)