Setup the Timer something like this...
// create a timer which fires every second (1000 ms)
var timer:Timer = new Timer( 1000 );
// add a listener to the timer
timer.addEventListener( TimerEvent.TIMER, handleTimerEvent );
// start the timer
Then change the state in the timer event handler...
public function handleTimerEvent( event:TimerEvent ):void
this.currentState = "nextState";
Does that help?
I knew it could be done with AS, I was just a little surprised that Flex has no timer ability. :/