This is a class diagram example for the Mediator design pattern.
Allows loose coupling by encapsulating the way disparate sets of objects interact and communicate with each other. Allows for the actions of each object set to vary independently of one another.
- Communication between sets of objects is well defined and complex.
- Too many relationships exist and common point of control or communication is needed.