I tried FlxFSM recently, and didn't like it. It doesn't support substates (but does support state stack instead), doesn't work well for hierarchy of classes (of sprites to animate), and requires a lot of boilerplate code (even if your state is one line of code in one callback, you have to declare the whole state class). I ended implementing my own solution, with callbacks right inside sprite classes, so they can be overriden.
I ran into a similar problem during my last LD jam .. where I had to show next typeaText only after the last one was completed .. so here is how I did it. if you want you can check the game source code from here
public function updateChoice(i:Int)
if(i == choices.length)
choices[i].start(0.04, true, false, null,updateChoice.bind(i+1));
@DleanJeans only now i understand, my be timer work good, in time when i use timer syntax i write wrong watch syntax, FlxG.watch.add(mytimer.elapsedTime,"dt");
but later i find what right syntax is
maybe this will work. i need test, after some pause