Хмм как вы решаете вопрос с объектами, если их стало достаточно много и между ними ещё зависимости существуют? Используете некий DI?
Для начала можно собрать создание объектов и проброс зависимостей в одном месте
Если повторов кода много получается, можно di наверное
Например есть Boost.DI