Killed the workflow idea. Way too complicated. Simplified by using predefined sets of task types defined in the widget settings of a field. New tasks are created on the entity the field exists on for that entity when not already in existence.