Am creating a new pipeline item instance because PipelineItem is immutable. Would it be more desirable to mutate the existing pipeline item i.e. make PipelineItem.Delegate setter internal?