Allows for events on GeoTools nested data structures.

Several of the GeoTools objects are produced in reference to specifications, in particular XML based specifications. Often we try and match the same abstractions present in a specification like SLD or Filter. But rather then make use of pure Java Beans, and make user interface code responsible for managing a host of listeners we are providing a single set of listeners located at the object matching the document base.

For more Details:

- This design is similar to EMF, or JFace use (aka borrow code examples)
- Not specific to Documents (just nesting), the Catalog api will use these events
- We do try and match the document structure perfectly for Feature/FeatureCollection/GML (so that the same XPath expressions can be respected). FeatureCollection and Feature have their own well explored structure and issues and will not be using this event system. Given the size of FeatureCollections it is not practicle for each child to "know" its parent.

### References The following links will be of interest:

- Eclipse Modeling Framework
- JFace

@author Jody Garnett, Refractions Research