1. One nesting level. Level 1 targets a valueChangeListener.

2. Two nesting levels. Level 1 defines a custom valueChangeListener and passes it to level 2. Level 2 targets a valueChangeListener.

3. Two nesting levels. Level 1 defines a bean and passes a property as a valueChangeListener to level 2. Level 2 targets a valueChangeListener.

4. Three nesting levels. Level 1 defines a bean and passes a property as a custom valueChangeListener to level 2. Level 2 defines a custom valueChangeListener and passes it to level 3. Level 3 targets a valueChangeListener.

5. Three nesting levels. Level 1 defines a custom valueChangeListener and passes it to level 2. Level 2 defines a custom valueChangeListener and passes it to level 3. Level 3 targets a valueChangeListener.