I've just noticed the existence of Nagios::Object. There's inside the code a big section of Nagios parameter declarations. I was surprised by the similarity of approach beetween your module and Config::Model.
May I suggest that you use Config::Model inside Nagios::Object ? You would get a lot of extensions like Perl/Tk GUI and more importantly, an esaier way to maintain and update your module to follow nagios evolutions.
Please follow-up on config-model-users mailing list if you're interested ( config-model-users at lists.sourceforge.net )
All the best