Thanks, what I was after is something else, I didn't explain it very well.
What is the best practice for communicating between the UIwidgets. e.g. I have 20 UI buttons clicks that change rpg stats in a central game object (lets call it "hero") and then I need the stats from the "hero" object to display in the 20 UI Labels.
What do I do for the buttons? Add scripts that will on click go use GameObject.Find, then set the script component, then adjust the variables?
Again what do I do for the labels? Do they also need to go find the "hero" object, the correct component and read the variables?
Or should I use listeners and messaging, as in e.g.: the notification center:
http://wiki.unity3d.com/index.php?title=NotificationCenterWhat is efficient performance wise? Is there a best practice for NGUI / Unity to do this?