Buttons are contolled by a ButtonDirector - benefited from mediator
pattern