1. A method of determining an event instance in an event driven communications system, the method comprising the steps of: receiving an event stream, the event stream comprising a plurality of events; retrieving metadata for each event of the received event stream; instantiating an event instance for each event of the received event stream based on the retrieved metadata; and reading event data of each event of the received event stream into the instantiated event instance.