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

Should supersede #3 and #5.
I'm sure it's possible, just wasn't sure how you would do it. This is fine :smile: