add code triggerable click and toggle state change methods to Button
add state accessors to Button