So it seems that the difference between `startCommand` and `runCommand` is that `startCommand` will also call `self.finished` or `self.failed` when complete, so no further commands can be run.  Is that accurate?