Implemented proper object copying solution to replace the "steal id and evict" approach that won't work with more complex objects