tmb_button: add button class and statemachine