Reactive object bindings with built-in caching