Ah yes, tricky.
You are not actually using the textfield you think you are using.
Inside Class1, you create a TextField.
Inside Class2, you make a new Class1 (which contains a TextField)
Inside Class3, you create a Class1 and a Class2. So how many textfields are there? Answer: two.
One that is shown, because you add it (the textfield that is buried in Class1 is the one on the UI).
The other is not shown on the UI, the one in Class2. This is the one you call update on... but it will not have the changed data. It still has the original, untouched (and untouchable, since it's not on the UI) value of "Text Area".
Try this code and see what I mean: