Added isDefined method
"Rollback" on unsuccessful set definition
Changed private var _states default value
Lower level API methods
Added begin/end states setters & getters
Reordered test case methods
Extracted FSM factory methods into class