Nachtrag: Data ist ein Pointer. Heißt das, daß die Referenz auf die Objektlist in Test zeigt ? Bzw. Data ja keine Kopie des Objektes enthällt. Dann wäre es ja wurscht wo man die Daten ändert...
Genau. Ich habe nicht verstanden, was Du eigentlich meinst, aber Dein Nachtrag erklärt das.
Beide Objektpointer zeigen auf das gleiche Objekt (bzw. Speicherstelle). Also beziehen sich Datenänderungen immer auf beide Objektvariablen.
Das Problem ist dann nur, falls Du die Daten z.B. an zwei Stellen darstellt, bei Änderungen auch beide Stellen aktualisiert darzustellen.
Das wird üblicherweise über Observer-Pattern gelöst. Ich nutze statt dessen Controller-Komponenten, die von der Datenschicht Änderungsinfos erhalten und ihr angebundenes Control veranlassen, sich ggf. neu darzustellen. Dadurch muss ein Datenobjekt nicht eine Liste von registrierten sichtbaren Contzrols verwalten.