code: func VersionTaskDefinitionsTo(event Event, target format.Version) Event {
  	switch event := event.(type) {
  	case *TaskCreatedEvent:
  		return NewTaskCreatedEvent(event.Task.VersionDownTo(target))
  	case *TaskRemovedEvent:
  		return NewTaskRemovedEvent(event.Task.VersionDownTo(target))
  	case *TaskChangedEvent:
  		return NewTaskChangedEvent(event.Before.VersionDownTo(target), event.After.VersionDownTo(target))
  	default:
  		return event
  	}
  }
docs: // Downgrade the TaskEvent payload (i.e. Task(s)) to the given target version