adding options to all state transition methods
adding a 'post' method for the sake of completeness
adding a 'reason' option