optimize refactoring Action && remove Loop && add Action::SetLoops method && add Action::SetLoopDoneCallback method optimize