This class will extend (or replace) BeanDictionary. It may be called BeanAdapter. It will be used wherever BeanDictionary is currently used, and will also be used in JSONSerializer#writeObject() to allow a caller to write arbitrary bean graphs to JSON.
The existing BeanDictionaryListener interface will be eliminated as part of this change, and the functionality for listening to native events will be moved elsewhere (e.g. ComponentPropertyInspectorSkin). While valuable, the current implementation isn't consistent with how other similar adapter classes work, since change events are fired even when bean properties change "behind the scenes" - not just when they are modified via the adapter interface. The potential for memory leaks due to the current implementation is also undesirable.