Move loads of buttons logic to the decorator