Thought: in the UI we may want to display "Canceled" when we show a task failing due to cancel; but here it doesn't look like we'll have that information about why it failed. Should ExecutionFailure have some kind of "reasonMessage" ?