Tasks are directly bound to WorkflowEngine.
This enables us not to synchronize on the engine field in multithreaded access.