Starting/Canceling a SharePoint Designer workflow programmatically

I had enough trying to find this code, so I'm putting what I've pieced together to activate a workflow programmatically (specifically a SharePoint Designer Workflow)

public static string StartWorkflow(ContractListItem contract, string workflowName) {             SPListItem wfListItem = contract.ListItem;             SPWorkflowAssociationCollection wfAssocs = wfListItem.ParentList.WorkflowAssociations;             SPWorkflowAssociation activeWorkflowAssoc = null;             string errorMessage = string.Empty;             foreach (SPWorkflowAssociation wfAssoc in wfAssocs) {                 if (wfAssoc.Name.Equals(workflowName)) {                     activeWorkflowAssoc = wfAssoc;                     break;                 }             }             // if the workflow exists, start the workflow             SPWorkflow activeWorkflow = null;             if (activeWorkflowAssoc != null) {                 try {                     activeWorkflow = SPContext.Current.Site.WorkflowManager.StartWorkflow(                         wfListItem,                         activeWorkflowAssoc,                         "<Data></Data>");                 }                 catch (Exception ex) {                     ErrorHandler.LogError(Resources.ActionBarWebPart_WorkflowNotStarted, ex);                     if (activeWorkflow != null)                         SPWorkflowManager.CancelWorkflow(activeWorkflow);                     errorMessage = Resources.ActionBarWebPart_WorkflowNotStarted;                 }             }             else {                 ErrorHandler.LogError(Resources.ActionBarWebPart_WorkflowDoesNotExist);                 errorMessage = Resources.ActionBarWebPart_WorkflowDoesNotExist;             }             return errorMessage;         }   }