The Mediator pattern is intended to define an object that encapsulates how a set of objects interacts. Object do not communicate directly with eachother, but through a mediator. This reduces the dependencies between communicating objects. The client instantiates the communicating objects, so called colleagues, and a mediator through which they are communicating. Colleague c1 = [...]