A self-referential Puppet module for managing Puppet