save command lines collect per-command timing, perhaps saving with command lines "explain" mode that shows why we're building a file "one file" mode that builds only outputs of a single file adjust to system load dynamically progress bar rather than printing commands in series store historical timing info, allowing etas on builds how does parallelization fit in?