K I'll change this and add an explicit TaskEndReason to signal when we don't know the reason (e.g., because we can't find the proper class when deserializing the result)