The unguarded execute would always update though, the underlying issue is that the commands we run are idempotent but don't expose enough state to do edge triggers themselves :) We could also use the status command and parse the output, but [talking directly via the gem](https://github.com/schmurfy/ruby-supervisor) seems easier.