The task states and how to spawn new tasks has all been sorted out. All that is left at this point is to handle the thread portion of task management and to determine how to get messages from the new child task's completion back to the parent task.
This defines the thread and task system better.
The tasks are now objects that implement Taskable.