Стало только замороченнее, но смысл остался тот же...
изменилось значение -> один контрол разослал событие, тут же поменялось значение у контролов слушателей -> они в свою очередь выслали событие обратно, и так пока 15 секунд не протикает =)
Вообще, на самом деле сейчас это работает так: у контролов есть метод setValue() который ничего не диспатчит и гет/сет value который в сеттере вызывает setValue() и потом сообщает всем подписчикам об изменении. Контролы на события друг друга не подписываются, есть только один подписчик - форма - она и решает нужно ли проапдейтить кого-то еще. Проблема скорее в том, как динамически описать зависимости между компонентами.
т.е. я хочу стороннему разработчику предоставить простые АПИ для создания формы. Общая идея примерно следующая:

Код:
createForm(xml):Form
{ построить форму на основе того, что было в ХМЛе }
Т.е. по любому пользователь АПИ будет решать чего делать с евентами, ему даже знать не обязательно какие именно контролы есть на форме...