1. A computer system for supporting synchronous and asynchronous, inter-thread function calls, the computer system comprising: a memory; a computer program stored in the memory that when executed by the computer system enables the functioning of: a threaded environment, wherein the threaded environment associates an arbitrary data with one or more threads, which when associated with a User Interface (UI) context are identified by unique thread identification numbers (IDs), and includes a hierarchical nesting of thread contexts with one or more corresponding UI context relationships, wherein the arbitrary data comprises at least one or more function registries, wherein the function registries are associated with the one or more UI contexts in the threaded environment; an Application Program Interface (API), wherein the API is capable of invoking functions by name with one or more parameters supplied by a caller; a one or more compiled, executable code, each referred to as an atomic widget, wherein the atomic widgets may be nested into one or more higher level non-executable code; and a User Interface (UI) for displaying data to a user, wherein the UI includes one or more hyperlinks to a target, wherein the hyperlink's target data is stored within an ontological framework, wherein a modification of text format within the UI to appear and behave as a hyperlink is automatic as a result of matching an arbitrary text string appearing within the UI to a name of an item discovered through said ontological framework, wherein the hyperlinks appearing within the UI are driven dynamically by the computer system's data content and are not predetermined.