Use widget::first instead of bindBefore.

#260
Trigger element::change before widget::change.  Fix #260