| 1) Alternative Implementations | ------------------------------ Your specification does not indicate which side is in charge of notifying an event. It may be one of the reasons why there are so many specifications of the "same" service. You should have a look at the COS Events (CORBA Object Services). In fact, there are four ways to define the different interactions between a consumer and a producer. IMHO, you cannot easily write such a service with only one (or even few) access-to-subprogram type. You will need many of them and this may become difficult to handle them manually (like a combinatory explosion). Therefore, it is much easier to use OOP and to have several primitives of only few access-to-object types. -- -- Laurent