The countryChange was just left so that “direct” change of countries select would also work just for illustrative purposes.

Sure, there is no sense in it if JSONPropertyBinding is used.

As for the real use cases of such scenario (which I actually had) you can consider dynamic form generation based on some metadata (like smartforms, but based on json data rather than odata service).

So if, fo example, we need to render those countries and states (and also maybe some more interdependent selects/fields) we would either need to implement some stuff for related onChange handlers (like observer pattern) or use something like this (which is, I believe, the same from the design pattern perspective, but is provided by the framework for free).