Cool solution. Reminds me of the Flow-Based programming movement happening in the node community.
http://noflojs.org
It's also interesting to consider why we don't actually build more tools this way (generalizing the Unix philosophy). Some Real Talk about that here: http://memerocket.com/2006/12/01/the-unix-tools-philosophy-t...