1. A system, comprising: a processor operable to execute a software process; an interaction manager process operating on the processor; a first plurality of objects comprising executable actions; a second plurality of objects comprising non-executable data; wherein the first plurality of objects comprising executable actions is executable by the interaction manager and thereby co-operable to form an executable software application using non-executable data of the second plurality of objects, wherein each of the plurality of objects comprises data that indicates the object's storage location; wherein the data that indicates the object's storage location comprises a network address of a processor where the object is located and a path to a persistent storage location of the object at that processor; wherein at least one of the first or second plurality of objects further comprises a registry, the registry comprising the data that indicates the storage location of the at least one of the plurality of objects; the registry further comprising data indicating the storage location of a second one of the plurality of objects; wherein the registry comprises a unique key corresponding to each object whose storage location is indicated by data therein; and wherein the at least one of the first or second plurality of objects further comprises a definition of the at least one of the plurality of objects, including an abstraction and a state.