States can prevent exiting though `canExit`.