actually copy Object data and then store it back later. Of course this
means changes to object during the call are lost (and very hard to track
down). Eekadoodle!
Oh yeah, actual commit was to move call to fetch derived mesh above
pushdata, because this call can alloc cache's in the Object (which won't
get freed later if it is after pushdata)