some refactoring on Workflow; add techs task; add task cancel.