Some workflow component refactoring