I read the data model for the dynamic publishing system v0.5 available at:
karl.arsdigita.com/doc/publish/index.adp last night. They are building a system to support arbitrary and complex workflows for a task. I wonder if it might be interesting to use that code as the steps for each task.
(I always prefer to modify existing running code.)
cheers....