Basic abstractions of the workflow engine