1. A stateless object-oriented distributed computer architecture, comprising: a first computing device including a program object; a second computing device including an application program interface (API) that facilitates calls to the program object at the first computing device using an object-oriented network protocol, wherein the object-oriented network protocol comprises a remote procedure call (RPC) protocol; wherein the program object is configured to, responsive to receiving a RPC from the second computing device over a network, return a reply over the network with a state-caching object, wherein the state-caching object contains state information pertaining to the first computing device; and multiple network components being configured to: route messages between the first and second computing devices; store, on behalf of the first and second computing devices, the state-caching object by circulating the state-caching object amongst the multiple network components so that the state-caching object is only stored at one network component at a given time, the state-caching object being circulated indefinitely or until a timeout; receive a subsequent request from the second computing device; issue a distributed query to the multiple network components for locating the one network component that is currently storing the state-caching object; and reassociate the subsequent request with the state-caching object.