1. A method for extending functionality of an application, comprising: receiving, using a processor of a computer, a request to create an application object; and in response to receiving the request, creating the application object; creating an extension proxy object; wrapping the extension proxy object around the application object; and receiving an invocation of a function of the extension proxy object from the application object.