Update VirtualPrimitive for references and fix losing references in VirtualObj::Call