Práctica de diseños (Mediator y Observer) en javascript