A navigation tool permits access between separate program modules by
communicating state information between each program. By communicating
state information between separate program modules, it is possible for a
user to access previous screens of data, irrespective of the program
module which generated the display, or to advance to previous screens of
data if the user has already accessed a previous display. In other words,
interactions between separate program modules become seamless in
presentation to the user, analogous to how information can be displayed
with a internet browser or as if separate program modules were operating
under a common shell.