Mediator and Observer pattern Samples