Что уважаемые эксперты думают на предмет ситуации, когда в конструктор некоего дочернего объекта передаётся экземпляр родителя? Подсмотрел такой подход в книжке по шаблонам проектирования, там он используется весьма широко.
У меня на практике пошло в основном с целью разгрузки очень объёмных классов (об этом уже дискутировали некоторое время назад). Например, есть большой кусок кода, связанный с обновлением персонажа по итогам завершения игрового действия. Создаю новый класс ChUpdateManager, такого вида:

Код AS3:
public class ChUpdateManager
{
private var _ch: Character;
public function ChUpdateManager (ch: Character)
{
_ch = ch;
}
В конструкторе Character ожидаемо пишу:

Код AS3:
_updateManager = new ChUpdateManager (this);
Получается решение эффективное с т.з. разгрузки класса Character и большей специализации компонентов, созданных подобным образом. Более того, менеджер обновлений сразу получается достаточно "информированным", он не испытывает проблем с доступом к данным своего владельца.
Вопрос, насколько подобный подход корректный т.з. ООП? Не нарушает он принципа о незнании о своих родителях? Есть узкие места, которые мне аукнутся при таком подходе?
Спасибо.