improve robustness and intuitiveness of pipe chaining;
experiment with the interface for json encoding over sockets