--------------------------------
* make sure Promise objects such as translation objects specified in the choices callback
are encoded correcly.
* make sure admin select widgets trigger 'change' events when a new option is added to them
* added js field onchange bindings while making sure to avoid circular references