Called when the task has failed. There will be no more output events after this.
Called when a chunk of output is received from the task.
Called when the task has completed successfully. There will be no more output events after this.
See Implementation