Added a flag to allow toggling whether would speculate.  Additionally, added an exception if kept trying to change state after a switch had failed.