Part of the problem with flash is that when it is crunching away executing some code, it is unresponsive to GUI events. One way around this is to break up computation by using a chain of events to complete the computation which allows GUI events to be interleaved thus making the application more responsive.