I'm building a web application which has some processing of user requests involved. A user submits request for something, it goes through few steps and channels and its status changes through some predefined statuses, in the organization before being approved or rejected. During processing the ball may roll back to the user's court for some changes or to update some information.
The client wants to user workflow to control the processing. Please let help me decide how I can integrate it with the application. Should I start new workflow instance whenever a new request comes, return the next state and possible actions that processing person can take and close the workflow?
Or some other approach will be better?