support the :choose option for ListBox
detect potential infinite recursion when text is modified in a widget and exit early
allow a user to select or place the text caret in an InputBox