code: function _setValChangeListener( Widget, els ) {
      // avoid adding eventhandlers on widgets that apply to the <form> or <label> element
      if ( els.length > 0 && els[ 0 ].matches( 'input, select, textarea' ) ) {
          els.forEach( el => el.addEventListener( events.InputUpdate().type, event => {
              new Collection( event.target ).update( Widget );
          } ) );
      }
  }
docs: Calls widget('update') if the form input/select/textarea value changes due to an action outside
  of the widget (e.g. a calculation).
  
  @param {{name: string}} widget   The widget configuration object
  @param {<Element>}      els      The array of elements that the widget has been instantiated on.