Check out paver.easy. Specifically, we should wrap our destructive commands in dry() and print using error(), info(), and debug().
Not sure if we should use sh() at this point since it runs it through the shell, which is almost never necessary and often a bad idea.