1. A computer-implemented system for sharing data objects among applications, comprising: at least one computer having at least one processor; a memory; a client library coupled to a requesting application and operable to execute on at least one of the processors to request data objects of a data-object set, each data object having a handle comprising a reference to that data object; a set of code (SOC) stored in the memory, in communication with the client library, and configured to execute on at least one of the processors to parse any request from the client library and retrieve any data objects of the data-object set; a registration module configured to execute on at least one of the processors to register subscriptions from or on behalf of the requesting application, wherein each subscription has a filter criteria; and an event notification module configured to execute on at least one of the processors to receive an event message from the applications, compare the at least one data object in the event message with one or more of the subscriptions, and selectively notify the subscribed applications, including at least the requesting application, in response to the comparison on the basis of any matches of the filter criteria, wherein the selective notification includes a return of any matching data objects to the client library coupled to at least the requesting application, wherein the event notification module is operable to identify at least whether the event message indication is an out-of-scope or an into-scope event, and wherein the client library is operable to return the handle to the requesting application so that any matching data objects are accessible to the requesting application.