returns true if an event has already occurred before a date if is includeRefDate true, then an event has not occurred if its date is the same as the refDate, i.e. this method returns false if the event date is the same as the refDate.
This method should be called at the end of non-const methods or when the programmer desires to notify any changes.
used to create an Event instance. to be replaced with specific events as soon as we find out which.