1. An interaction synthesizing system for a computer running an application program formed of multiple objects, the system comprising: an interaction space including: a top level user interface object; an intermediate level abstract object representing an abstract user interaction type selected from the group consisting of tasks, subtasks, components, and primitives, wherein the intermediate level abstract object inherits capabilities from the to level user interface object; and an instantiable object representative of a user interface element, wherein the instantiable object inherits capabilities from the to level user interface object or from the intermediate level abstract object; and an interface synthesizer which generates the user interaction representations for a current state of an application and modifies the interaction space dynamically in response to changes in the application objects.