A method for navigating a graphical user interface (GUI) having at least one page, comprising providing a first booklet, wherein user interaction with the first booklet can cause the GUI to navigate to a new page; providing a request based on user interaction with the first booklet; mapping the request to a control tree factory; generating a control tree from the factory based on the request wherein the control tree includes a booklet control corresponding to the first booklet; advancing the control tree through at least one lifecycle stage based on the request; and generating a response wherein the response can be used to render the new page.