Remove support for standard input and output as they don't play well with redirection to named pipes in a Unix shell -- the shell won't spawn any process until the pipe stdout is redirected to has a reader; EOF isn't passed to stdin if it is reading a pipe...
Log exceptions and, when debugging, raise.
Add lots more debugging...
Add comment to note that readers are started before any data is streamed.