Added simple data binding in lieu of all those change listeners