Gutes
OOP geht nicht immer den Weg des schnellsten Umsetzens, sondern den Weg, was am einfachsten wartbar und erweiterbar ist.
Ich würde eine hierarchische Beziehung aufbauen, da dies den Daten entspricht. Der Mediator wäre dann dafür zuständig, bestimmte Eigenschaften in Abhängigkeit anderer Änderungen anzufassen. Das ist nicht aufwändig. Es wird nur diese eine Funktionalität in eine eigene Klasse verlagert.
Ich würde mir die Mühe machen, das exemplarisch zu implementieren (sofern die Zeit es zulässt und der Chef nicht hinter einem steht).