You also need to update ControlPushButtonBehavior to handle the latching state.