The debate was about whether to have an explicit event operation on the service contract to describe the topic or to have a data based description of the topic. In other words, would an event be published as follows:
IEmailSentEventPublisher publisherProxy = new factory.GetProxy
or in a data controlled way as follows:
IEventPublisher publisherProxy = new factory.GetProxy
(); publisherProxy.PublishEvent(event, data);
where event contains meta data about the event such as the topic ("email","success", etc) and data is the contextual data such as the id of the email in the database.
or perhaps a variation of the former:
IEventPublisher publisherProxy = new factory.GetProxy(event); publisherProxy.PublishEvent(data);
where the factory sets up the proxy to send meta data in the header.