Hi Justin,
The issue is not really an error, but it is desired functionality that I have not been able to figure out.
Basically, there 3 views/controllers for cars, trucks, transports. Cars and trucks reference "makes", while transports has an array of "vehicles" (which may be cars or trucks) that in turn reference "makes". (Yes this is contrived data, but the real problem we are working on is even more complex.)
When the "deepObserve" value is updated in the "make" object, I want that change to be propagated to all places where that value is shown in the 3 views. It is OK to use a special setter to update the value, but the update function just gets a reference to the "make" instance and does not "know" about all the views and object paths to the observable.
The Update Observable button is intended to simulate changing the deep property. When clicked, all the deep observable numbers in the view should be updated.
The Add Car/Truck/Vehicle buttons just simulate modifying a can.Observe.List container. This works as expected, except for the deep observe not being shown correctly.
Removing the copying is interesting, if everything is rendered via Mustache then effectively it is the same as always reading with attr()?