Independent binding support: separate computed observables

This is the final step in implementing independent bindings. The basic idea is that for each binding, there will be a separate computed observable to track the binding's updates.