I take that back. Using shadow objects does cause problems. For example, the output from the test case for #1753 changes, because the output from defaultCb no longer shows the simple properties, and shows many of the object properties incorrectly. It looks like we need to create a full copy. 