Supports binding to objects returned from methods and properties.

Also added cache to avoid recreating the binding.