Perhaps we should refactor the way we shell out to run the `dot` binary. We should also have helpful error messages