Moved pipe logic into PipeCollection.