Hi Igor.

2013/7/21 Igor Stasenko <siguctua@gmail.com>
There are 3 kinds of roles in context:

�- subscriber: an object who subscribing for events to receive them later
�- an event source (the object which announces the event)
�- an announcer, an object which provides subscription service and
through which you can announce events, acting as mediator between 2
parties above


the rest, like registry, Announcement (as class) and subscriptions is
implementation detail.
The main reason for using Announcements model is to have decoupling
between event source (the place/object , which producing events) and
its handlers. And announcer provides such decoupling.

I understand your position. But I think it is too little and simple place to introduce another object.�And original paper about Announcements framework (maybe from Vasiliy Bykov) not described such distinction between event source and announcer as subscription service. Too me subscription service is exactly SubscriptionsRegistry. Interesting how Announcer used in VisualWorks system.
Any way if we agree with your proposals we should add EventsSource class (choose better name) to Announcements package. And we should describe it in announcements chapter in pharo book. Because now there are no documentation where your distinction are explained�and that's why now natural way to make event source classes is subclassing Announcer.�


Best regards,
Denis