I am not quite sure I understand the question. Anyway, maybe the answer is that U++ is desgined in a way that you usually do not need have "variable-widget" pairs (using variable to store the data, only use widget for GUI interaction). You do not need the variable, you can store the data directly in widget. You can even think about widgets as "value with possible GUI editing"...
Let say I have a database table with 100K records (quite small) and I'd like to show it in several widgets (ArrayCtrl). Duplicating of data would require huge amount of memory, and I'll need to synchronize data in several widgets in case of data change. Fortunately there is a virtual mode of ArrayCtrl. Having such a virtual mode in the TreeCtrl would be very handy (isn't it a model-view?).
I think that separation of concepts (like graphical data representation and data itself) is very useful. Developing something more or less complicated without that is hardly possible.
Making clear separation of concepts requires a lot of experience in software design. That is not easy. But using good designed software is real fun !