Without this change the button table's change event handler will be executed **after** the button's change event handler. Such behaviour creates issues when we have multiple dialog windows. For example I have dialog with button that creates (shows) another dialog. Without capture listener things will happen as follows:
1. First dialog is shown. It sets new scroll and keyboard focuses.
2. I press the button in the dialog.
3. The button's change event handler is executed. Handler contains the call to 'show' method of another dialog.
4. The second dialog is shown and it sets new focuses.
5. The change event handler of button table of first dialog is executed. The first dialog hides and restores wrong focuses.

When we are using capture listener, we actually place step 5 after the step 2, so the first dialog is hidden before second dialog is shown and it becomes possible to restore correct focuses.