In step 306.1 according to one embodiment of the disclosure illustrated in FIG. 3, each sub-widget of the “Current widget” is either an interface widget or an interaction widget. Each relevant sub-widget of the “Current widget”, is processed through the sub-steps of step 306. For each relevant next sub-widget being processed, when the sub-widget is not an interface widget, as determined in step 306.1, it is implied that the sub-widget is an interaction widget, in which case, the processing continues through step 309, to step 310 of FIG. 3, where the “Current widget” that is the parent interaction widget of the sub-widget is placed on a Stack data structure so its processing continues after its sub-widget is processed. Then, through step 311, the interaction sub-widget is activated/displayed and processing loops back to step 304, where the sub-widget becomes the “Current widget”. Using this process, interaction sub-widgets, within other interaction sub-widgets, and so on and so forth to any level of depth may be processed. The parent widget of an interaction sub-widget is pushed on a processing “Stack”, such that it can be ‘popped’ after its interaction sub-widget completes its processing through step 307.c of FIG. 3, to continue its processing as the “Current widget”. The use of a Stack data structure accommodates embedded interaction sub-widgets to any level of depth. To keep the process flowchart in FIG. 3 easy to understand, many conventional details associated with error-handling or special cases have been omitted. One with ordinary skill in the art will acknowledge that such detail can be addressed through conventional data structures and processes common in the relevant art.