This is Copy-On-Write in disguise: the different versions can actually be considered different objects, in which case it's just a copy and an eventual cleanup of the old object.
Right. Just read what Copy-On-Write is. Follows the same basic principle. I might be wrong, but Copy-On-Write is formally referred to the case of a shared resource? Though I think we could consider the trip information to be shared between the phone and the data centre.