refactor EL bindings, property change listeners