Refactor to support parallel commands and the ability to get each
process it's output