1. A method comprising: calling a remote object that resides on a server using an object-oriented network protocol; receiving a reply from the server, the reply containing server state information; and caching the server state information for use in subsequent communication with the server.