add method getButton()
change property from 'enabled' to 'is_enabled'
add alias to state names
add property 'is_active'
add getters 'background' and 'label'
handle if label is nil