The State Machine can definitely help with this, but if your app is already built, it might be a pretty radical refactor. When employing this utility, it becomes the a prominent actor for your whole app. Thus its a good thing to build in from the start.
That said, I've had great luck with it. It is at the heart of the Zarqon AIR app (http://zarqon.net
), which has a fairly involved FSM for starting up, checking for connectivity, capturing and validating license and S3 info, checking for updates, and different user interactions at runtime. It works like a charm.