Software design classes have a special talent for turning perfectly functional two-component systems into architectural nightmares. Got thing 1 talking to thing 2? Cool, but have you considered adding a "thing in the middle" with bidirectional arrows pointing everywhere like a plate of spaghetti? The "problem" diagram shows a simple, slightly messy connection between two components. The "solution"? Introduce a mediator pattern that somehow requires even more arrows and connections. Because nothing says "clean architecture" like tripling your integration points and creating a new single point of failure. Bonus points if your professor calls this "decoupling" while you're literally adding more coupling. The mediator now knows about everything, and everything knows about the mediator. Congratulations, you've just invented a god object with extra steps.