A Task is an edge that incorporates durational aspects, supports the concept of children (child tasks are tasks that "belong to" the parent, and usually provide the detailed execution sequence & aspects of the conceptual parent task. Tasks also support the concept of validity, where a task is valid if (a) it's own state is valid, (b) all of its children are valid, and (c) all of its predecessor tasks are valid.
TaskProcessor encapsulates a task, and is responsible for scheduling its execution. It must be run by an external entity, often at the model's start. This external entity must call Activate in order to cause the task to be scheduled, and subsequently run - the default Model implementation does this automatically in the Running state method.
Implemented by an object that can create Task objects.