Jak fachowo rozwiązuje się taki problem, może jakiś wzorzec powstal? Problem jest następujący:
Jest klasa Main, która poprzez DI zarządza klasą podrzędną Slave. Ale na etapie przyjmowania instancji tej klasy w jakiejś metodzie klasa Slave musi też mieć w sobie instancję klasy nadrzędnej. W klasie podrzędnej tworzę metodę register(Main $main), w klasie Main robię $this->slave-> register($this) i jest na pierwszyrzut oka git. Jednak metoda register powinna być wywoływana tylko z wnętrza Main. Da się to jakoś zrobić łatwo i zgodnie z dobrymi praktykami?


EDIT

Dla potomnych. Zapomniałem, o ReflectionMethod, jest albo nie jest to dobre rozwiązanie, ale działa świetnie.