A method performed at least in part on at least one machine, comprising: organizing a user interface into a tree structure, in which each element of such a tree has at most one parent element and zero or more child elements, wherein drawing of the Ul tree is performed recursively, and wherein each child element is either a pre-child element, that is drawn before the parent element is drawn, or a conventional child element that is drawn after the parent is drawn; maintaining, by a parent user interface element (108; 220; 771) comprised in a user interface tree, two sets of children, namely one set containing one or more pre-child user interface elements and another set containing zero or more child user interface elements, said one or more pre-child user interface elements and said zero or more child user interface elements providing decoupled user interface elements in the user interface tree that represent different visual properties and thus provide a composable property; invoking a pre-child user interface element (116; 222; 772, 773) of the set of pre-child user interface elements maintained by the parent user interface element, the pre-child user interface element including pre-child logic (222; 772, 773) for drawing a representation of the pre-child user interface element at a first time, wherein the pre-child logic determines whether to draw based upon state data associated with the parent user interface element; drawing a representation of the parent user interface element at a second time that is later than the first time; and invoking a child user interface element (224; 774, 775) of the parent user interface element, including drawing a representation of the child user interface element at a third time that is later than the second time, wherein invoking an element comprises invoking said element to draw. organizing a user interface into a tree structure, in which each element of such a tree has at most one parent element and zero or more child elements, wherein drawing of the Ul tree is performed recursively, and wherein each child element is either a pre-child element, that is drawn before the parent element is drawn, or a conventional child element that is drawn after the parent is drawn; maintaining, by a parent user interface element (108; 220; 771) comprised in a user interface tree, two sets of children, namely one set containing one or more pre-child user interface elements and another set containing zero or more child user interface elements, said one or more pre-child user interface elements and said zero or more child user interface elements providing decoupled user interface elements in the user interface tree that represent different visual properties and thus provide a composable property; invoking a pre-child user interface element (116; 222; 772, 773) of the set of pre-child user interface elements maintained by the parent user interface element, the pre-child user interface element including pre-child logic (222; 772, 773) for drawing a representation of the pre-child user interface element at a first time, wherein the pre-child logic determines whether to draw based upon state data associated with the parent user interface element; drawing a representation of the parent user interface element at a second time that is later than the first time; and invoking a child user interface element (224; 774, 775) of the parent user interface element, including drawing a representation of the child user interface element at a third time that is later than the second time, wherein invoking an element comprises invoking said element to draw.