Here is an interesting one that I have never tried to do before, hopefully someone has.
I have 2 lists: - List A - List B
List B contains a lookup column to List A.
It is likely that items in List A will change over time, but I want to be able to track the values of those fields in the item from List A at the point in time that an item in List B is created.
So, I want the lookup column in List B to keep a record of the version of the item, from List A, that it is related to, so when I create a custom view form in List B, I can show the related items values as they were at the point the list B item was created.
This all needs to work in Office 365 and I am not adverse to using CSOM.
I hope that makes sense!