Communication among agile objects and context-bound objects within
object-oriented programming environments, including communication across
contextual boundaries, is disclosed. In one embodiment, a reference to a
second object within a second context is wrapped in a proxy wrapper. A
first object within a first context calls the second object via the
wrapped reference. No direct reference is held by the first object to the
second object. Other embodiments relate to agile objects. Agile objects
called by context-bound objects execute in the contexts of their callers.
The context of a calling context-bound object becomes the context of an
agile object for calling of the agile object by the calling context-bound
object. Direct reference to the agile object by the context-bound object
is thus permitted.