* changed reset() to a clone() for CommandChain and the ManagedCmd to
  avoid races
* added channels and a reader interface on the ProcessInput's output