Copy on Write Distributed Object

1. Copy with Timestamp
2. Write only on the copy version with timestamp
3. Others still read from original
4. After update done, write back to original from copy