Switched to insert and withdraw generics to allow extension, added naming support
Added some simple extra pipes