1. A method for stacking global variables associated with a plurality of tools, comprising: providing a plurality of global variables shared by the plurality of tools for a computer application, wherein each of the plurality of global variables are accessible from each of the plurality of tools and has a same respective name when accessed from each of the plurality of tools; loading a first global variable into a memory and executing a first tool of the computer application, the computer application configured to automate human resource processes, wherein the first global variable is a reference to a tool class definition the first tool is associated with; responsive to a call to execute a second tool of the computer application, pushing the first global variable and screen data associated with the first tool onto a stack; loading a second global variable into the memory and executing the second tool, wherein the second global variable is a current cursor position before executing the second tool, wherein each of the first and second tool is configured to provide a respective form on a respective display screen; and responsive to completing execution of the second tool, popping the first global variable and the screen data associated with the first tool off the stack, and loading the first global variable and the screen data associated with the first tool back into the memory.