Make nagios model

This class structure defines all nagios definitions as objects.
All objects come together within the Nagios.instance object.
You can push all kind of objects into the instance and all linking will be done in the background.
Good example will be the _load_default_config.rb recipe.
Here you will have some examples how objects are created and pushed into other objects.
All .create command will push and search inside the Nagios.instance for existing objects.
If found, it will merge of modify the object, so partial pushing will be possible.

It might need some additional checking logic, but it think I have all corner cases covered. (famous last words) 
This seems like a nice log line to add to _load_databag_config too.

Is there any reasonable way to search once per chef run and cache it? (I wouldn't know how...)