Factored out much of exec into AbstractShellTask
Going to start using Result classes
Multi result collects results