Only run squash once for multiple outputs

In general this feels like a step in the right direction (deleted code FTW). Happy to talk about better ways to deal with the squash output cleanup, which makes this a little messier than I would like (but it's not really any worse than before).