This scares the bejezus out of me, providers should never have to look at `Puppet[:noop]` because destructive methods should never be called if Puppet is in noop mode. Why is this necessary?