issue 9 : widget hierarchy and events callbacks