The Proxy base class. Proxies are objects that let users interact with objects that may or may not exist locally on their machine. For example, if a programmer wants to resize a window it would be nice if he could do that the same way whether or not the code was running on a slave (with a window) or as a master (with the window in another process, possibly another machine). Proxies are the solution.
Proxies provide an interface to objects that don't necessarily exist in the same process as the proxy. Proxies exist only for realized configurations. If the proxy does exist in the same process as the object it uses a proctor to direct the call to the object. If the proxy does not exist in the same process as the object it sends a message.