Reduce duplication in text-only UI and TUI
Created by: mrnugget
This introduces the concept of a batchExecUI
: the UI that displays the
status of a batch spec execution.
Both batchExecTUI
and batchExecJSONLinesUI
implement that interface
and can thus be used interchangeably.
The result is that we can get rid of the duplicated code paths.
Note: this is not as nice as it could be, because I want to be careful and only change what is necessary in this PR to get rid of the duplication (vs. rethinking how we batch spec execution reports progress, etc.) So please review from that point of view.