A rails engine for Foreman to implement "custom fields" funcationality be defining default parameters.  Default parameters can be created on hosts, host groups, domains, and operating systems, and the parameters can be read by Puppet