hi,
Yeah, I see where you are coming from, but I agree with Lane and wheretheidivides, and think about actions as lego blocks, you can turn your state into a sequential state, have your actions each with a following wait and you have it.
you'll find that you won't be using wait that much actually, also prefer using events with a delay, because then you can visuall see your progression in your fsm, something amazing for debuging, it will save you hours when you want to find an issue, so indeed spread your logic across states, insert waits for each transition and you'll be good for a very powerful setup, easy to maintain and obvious.
Bye,
Jean