A test work item is a task that is invoked until it is complete. It maintains its own state to be able to notify the caller when it is finally complete, with no further work to be run. It is possible that some implementations of a TestWorkItem may actually contain a set of sub-tasks by implementing a composite pattern.