The present invention discloses a computer software framework and method for
managing communication flow between a user interface and a computer application
performing a task comprising a plurality of steps. The sequence of the steps is
controlled by the application, and a user operating the user interface controls
the progression through the steps. Each step is mapped to an output file containing
information to be sent to the user interface in support of the step. Each task
is mapped to an output generator that generates an output sent via an output medium
to the user interface based upon the content of the output file. A task object
is instantiated, which models the task. The task object receives a progressional
input from the user interface and receives a step sequence input from the application.
The task object compares the progressional input to the step sequence input to
identify a subsequent step, identifies the output file mapped to the subsequent
step, and calls the output generator mapped to the task to generate an output to
the user interface based upon the content of the output file mapped to the subsequent step.