1. A computer-implemented method comprising: executing instructions to create a proxy object that implements a set of interfaces that is dynamically specified by a software client at run-time during execution of the client; and using an invocation handler to invoke a method defined by the proxy object in response to a method invocation by the client.