output/pipe: move functions into the struct
output/pipe: merge Initialize() and Configure()
output/pipe: add static method Create()
output/pipe: convert to class