force the transition methods to explicitly change state