Rewrite execution code to only terminate once all pipelines run, catch errors, correct return value

Should supersede #3 and #5.
Out of curiosity, can you think of a way to do this without mutating global state?