1. A method for rendering a portal graphical user interface (GUI) for a portal, comprising: providing a set of controls, wherein the set of controls can be organized in a logical hierarchy, wherein each said control represents a corresponding graphical element in the portal GUI, wherein each said control has properties that can be read and set, wherein each said control is implemented as one or more classes in an object-oriented programming paradigm, wherein each said control has one or more methods which can be overridden to provide specialization of each said control; traversing, using at least one processor, the logical hierarchy, wherein the traversing comprises: associating a first theme with a first control in the set of controls; associating descendents of the first control according to the first theme unless the theme is overridden; overriding a second control, which is a descendent of the first control, with a second theme such that the second control uses the second theme and any descendent of the second control uses the second theme unless the second theme is overridden; using a first thread to render the first control according to the first theme, and a second thread to render the second control according to the second theme, wherein the rendering of the first control by the first thread is in parallel to the rendering of the second control by the second thread; and after the first thread finishes rendering the first control according to the first theme and the second thread finishes rendering the second control according to the second theme, using a mainline render to obtain rendering result for the first control from the first thread and render result for the second control from the second thread.