I don't really like this - if there are cases we expect a command to fail then we shouldn't be running it. Let's do the checks properly and only run the code when it should be run instead of assuming failures mean what we think they do.