It depends on what we call the 'on_write' behavior. This could be only when Puppet internally sets a value, or when Puppet sets a value internally or parses and sets a value.

With respect to Josh's comment above, it might be better to figure out what the semantics of settings hooks should be and actually implement that, rather than figure out what the current code is trying to do and tweak it.