theoretically changeState in machine should work, though it isn't ever
being called