Bonobo specifies a number of such contracts, or interfaces, as they are usually called. The Bonobo interfaces were inspired by Microsoft's OLE2 [3]. Microsoft uses OLE2 for interconnecting components in the Windows-environment. Bonobo is not an implementation of OLE2, however. Many of the design decision that went into OLE2 were re-evaluated, and all Windows-specific parts had to be adapted for Unix and the X Window System. And importantly, while OLE2 is based on Microsoft's proprietary Component Object Model (COM) [2] as the underlying communications layer, Bonobo uses the Common Object Request Broker Architecture (CORBA) [9] instead.
One of the cool parts was the components were network transparent so you could have in a document a component running in your desktop alongside another one running in another continent. CORBA was ultimately replaced by DBus which was inspired by KDE's DCOP.
Doubt isn't the opposite of faith; it is an element of faith. - Paul Tillich, German theologian and historian