The McFeatures class is the base class common to McPoints, McLines and McRegions. Most of the methods and properties for each of these classes actually comes from the McFeatures base class
Events are also fired on both a dispinterface, _DMcFeaturesEvents, and a custom COM interface which should be used by clients where possible (VB always uses the dispinterface).
For every event, the ChangeMade event is always fired and then one of the other, more descriptive events is fired. Clients will usually either monitor just the ChangeMade event or just one or two of the others. If all you are interested in is has the object changed then just monitor the ChangeMade event; if the mcfcmAppearanceOnly bit is set in the ChangeFlags argument, then the change affects only the display of the feature(s), not their contents.
All McFeatures expose the McHasObject interface. If the McHasObject.FirePropertyChangeNotifies property is False, then events will not be fired. If you are doing extensive work on an McFeatures that involves many changes, you should set the McHasObject.FirePropertyChangeNotifies to False and then restore it to its original state before doing your final change on the McFeatures object. This will result in only one event being fired for the changes.