This seems surprisingly generic for something that is supposed to be attached to *the host*.  Consider, for example, the Razor host: no Puppet, but configuration data that we want to extract...