A workflow type can be considered as a template or a document definition. It acts like an umbrella for associated workflow elements, such as approvals and tasks. When the designer starts to design a workflow, they actually select a workflow type, and the design surface will allow them to select workflow elements associated with it.
We create the workflow type first because the workflow type creation tooling will create elements that can be used in other workflow elements. We just come back to this in order to add them to the list of supported types by the workflow type.
Be careful when naming items as this process automatically creates menu items and classes. They are all prefixed with the workflow type's name. If we have a class that exists already, it will add a 1 to the name, which is unpleasant. For this reason, the maximum length is 20 characters...