В общем, я не понимаю истоков проблемы. Почему нельзя создать прямо в нужной точке вместо инициализации
Потому-что там где ты смотришь их нет.
Давай остановимся на варианте - что все можно, потому-что вопрос совсем не про это.
Мой вопрос по-сути очень простой.
В ситуации, когда объект инициализируется отдельным методом, приходится хранить указатель на инициализирующие данные. Вот проблема - хранение указателя, за которым нужно следить.
Чтобы хранить инициализирующие данные, не по указателю, а по ссылке, необходимо передавать их через конструктор. В моем случае - это тупое пробрасывание ссылки на данные через всю иерархию. Для меня эта проблема - много однотипной писанины.