User defined stream operators via pipe chaining