The task manager provides a single API for all task execution, a single task description language to specify the implementation of tasks, common shared functionality for such things as error handling, event logging, task description registration, and a command line interface.