Remove bad code. We're going to try a different approach.
Add a basic pipe.

The basic pipe is the simplest pipe that satisfies the pipe interface
requirements.
A LatentPipe is built on a Pipe

All Pipe's except the BasicPipe should have an underlying pipe.