refactored the trigger interface.
made the pre-trigger stop the transition.
created a default state transition selector.
updated test case.