testing out typescript and to make it more interresting I gave myself a task to do a mediator design pattern.