It's fairly simple. You just need to drop your preconceptions - Out with the ButtonFactory, out with Update() checking. What is m_button anyway?
You just attach a UIButton script to your thing and then make either a OnPress(bool pressed) or OnClick() method, which will automatically get called if there's a collider on that gameobject. it's that simple.
The easiest thing for you is to look at the examples folder in NGUI or try out the free version, just to get an idea of how things work. Get the free version here:
http://www.tasharen.com/get.php?file=NGUIDo note that the free version is obsolete, and should only be used as a very basic introduction to how NGUI's general API works.