FLOE-196: refactored button behaviour

Separated the button behaviour into their own grades. This will enable them to be used for the vote buttons and others as needed.