Так как я стек вызовов докинул в посетителей, то это позволяет переиспользовать код полнее, так как в конкретном посетителе можно по стеку отличить где он там вызван в спеке, а значит напилить разных реакций на это. Можно было конечно вызывающих заставить реагировать, но так возни больше, а итог все равно один, надо общее место хранения, что и есть вызвавший родитель (его модель), так что пошел по пути наименьшего сопротивления.
Ну и можно было конечно сделать много отдельных посетителей на все, но я подохну.