A mediator implementation in C#