Instead of using functions, I think that we should use the `Puppet::Autoload` functionality for this and have a place in modules such as `lib/puppet/heredoc/validator` where validation plugins can be placed.

As an interim step we can have a single JSON validator with the view to use autoloading. Until then we can just add a static set of validators.