Added changes to replace ChangeListeners with InvalidationListeners.
Also replaced with calculations in binding.