1) Просто когда проект набирает некий объем - ты напрочь забываешь что у тебя есть какие то эвенты и они что то делают.
2) Если в команду приходит новый разработчик - он просто охренеет от того что достаточно просто сохранить модель и все происходит "за кадром"
1 - В объемном проекте всегда найдется то, что легко напрочь забывается. Спасает от этого описание концепций, применяемых в проекте, и грамотное следование этим концепциям.
Сами концепции, при этом, могут быть самыми разными - и с использованием ООП, и без. С использованием ДИ или с синглтонами и фасадами - это не критично.
2 - Это нормально. Это неизбежные издержки замены разработчика. Особенно веселят такие товарищи, и 5 минут на код не посмотревшие, а уже охреневающие.
Нормальный разработчик, при этом, не будет ни охреневать ни умничать, а разберется в причинах именно такой архитектуры, в том числе и исторических, и начнет работать.