Methods and apparatus, including computer program products, for
implementing extensions for computer program applications. A program
according to one aspect of the invention has instructions to receive an
application call to an extension method defined in an extension object
definition, the extension object definition having associated extension
object implementations, the extension object implementations providing
extension method implementations of the extension method; instructions
operable to obtain results by calling multiple extension method
implementations of the extension method; and instructions operable to
respond to the application call using the results obtained from the
extension method implementations. A method according to another aspect
includes the steps of deploying multiple extension method implementations
for an extension method; and executing the multiple extension method
implementations to determine the results of calling the extension method.