Fix async method execution order issue - e.g. state exit actions(sync/async) should be all finished then start calling transition action(sync/async)