before refactoring IWorkflow