added support for extra arguments on the fsm.set
separated the "exec" into multiple sub tasks and now supporting "general method" state["*"]