You never need to use this class for normal workflow operations. The only reason to use it is when you are rehosting the designer or need the WorkflowViewSaveWorkflowImage function to create an image of the workflow.
When creating a subclass overrule the abstract PerformLoad function to load the workflow. Use the GetService function to retreive a IDesignerHost reference and use its Container object to add all the workflow activities to the designer surface. See the WorkflowUtilsGetAllActivities function for an easy way to get a reference to all nested activities.