1. A method comprising: receiving, at a server, a request comprising a target object name and a target object information to create a target object from a client, wherein the target object information comprises an identifier of an IP address of the client; in response to the request from the client to create the target object, creating a reference object from a class definition at the server using the target object name and the target object information, wherein the target object and the reference object are separate; in response to the creating the reference object, binding the reference object to a name space at the server is performed while the target object associated with the reference object is not instantiated, wherein the binding the reference object to the name space further comprising creating a record and saving the name of the target object and a pointer into the record in the name space, wherein the pointer is associated with the name of the target object, and wherein the pointer points to the reference object; in response to an invocation of a method at the client on the reference object, determining whether the target object associated with the reference object exists at the server, wherein the client searches for the record associated with the target object in the name space using the name of the target object as an index into the name space and the pointer to the reference object; if the target object does not exist, creating an instance of the target object and returning the instance of the target object to the method that was invoked on the reference object in response to the determining, wherein the target object comprises a home object; if the target object does exist, returning the target object to the method that was invoked on the reference object in response to the determining; and returning the target object to an object request broker.