Amon #1 What i do is have a seperate field in my type called "id". I assign an id to an object then when i need to manipulate the object I check if the id matches and make the necessary changes.