Events are treated within metadata much like Properties -- a way to associate a collection of methods defined on given class. There are two required methods -- add_ and remove_, plus optional raise_ and others. All of the methods gathered together as an Event shall be defined on the class. Note that Event information does not directly influence runtime behavior; what counts is the information stored for each method that the event comprises. The EventMap and Event tables result from putting the .event directive on a class (see Chapter 17).