`log string` is used to give a name to that program while printing log messages. Like

```
Finished running <<<LOG STRING>>> took N seconds to run .....
```

I agree that documentation is a bit weak, apologies for that.

`updateOut` and `generateOut` are not added by me, they're used to write outputs of programs to files instead of writing to stdout. This is used to generate correct output files using correct programs and then by using once generated correct outputs, testing updates. Maybe whoever implemented this should add documentation.

Feel free to change the class however you want, I'm just explaining how it's implemented and why it's implemented that way. The parts that you think don't resembles a process class were probably added later, so some refactoring might be good here.