DCWorkflows provide workflow objects that are fully customizable via the Zope Management Interface. You can specify the states, and the permissions they set on content that is in that state, the transitions between those states, and other things like variables for things that aren't well represented by states, work lists for reviewers, and scripts to embody complex guards and to extend pre and post transition behaviour.

The process for creating a workflow runs something like this:

By working in this order, you will tend to step through the creation process one tab at a time, rather than switching back and forth between them, which tends to be slower and somewhat confusing.