I am slowly working on MTG Forge 2.0 and I'm trying to figure out what events should be generated. Granted that this is just a baseline and more events could be added later but my question is "What events do Magic cards care about?"
Many cards have some effect when another card is added or removed from a zone like Glorious Anthem. A card could even want to know when itself was put into play, like Venerable Monk. The triggered ability "when this card comes into play" is fairly common.
Several cards like Darksteel Colossus and Serra Angel have the replacement effect "If this card would be put into a graveyard from anywhere, reveal this card then shuffle it into its owner's library instead" and need to know if they are in a graveyard. (Technically the card would never be put in the graveyard since it is a replacement effect but let's forget that detail for now.) Remember that replacement effects start with the word "instead", see 419.1a "Effects that use the word 'instead' are replacement effects."
The reader should also note that these basic add and remove card events would not be enough to implement Megrim since it only concerned when an opponent discards a card. A card could be removed from a player's hand if he plays it or if he discards it. It would be best to add a discard event if we want to implement Megrim.
Stay tuned for part 2 on Monday. Same bat-time, same bat-channel :+)