Tries to get execution permission and if successful, executes given task body and completes the task if there're no pending nested tasks. does all required accounting before/after task execution. the task can be deleted as a result of this call.