To fire an event, the publisher instantiates the event class object by calling CoCreateInstance or the Microsoft Visual Basic CreateObject method and requesting the event interface be returned. The instantiated event class object contains the event system's implementation of the requested interface. An interested subscriber must also implement the event class interface to receive events from a given publisher. When the event class object is instantiated, the event system associates it with the appropriate subscribers. The list of subscribers is maintained for the lifetime of the event class object. An event can be delivered to multiple subscribers either serially or in parallel.