IUpdater needs OnDeleting Trigger/Event
IUpdater really falls apart for me when I need to respond to deleted elements. The fact that the IUpdater.Execute() only returns ElementIds really limits what the IUpdater is practical for in my opinion. You're forced to pre-load and cache all the related information just so that you can respond to the deletion event without re-querying the entire Document. Depending on the type of Element/Trigger in my IUpdater this can be impractical due to the amount of data being cached or simply too slow due to the number of extra queries that need to be made.
I'd like to see either an Element.GetChangeTypeElementDeleting() trigger or simply an Event on my class that implements IUpdater, something like MyUpdaterClass.OnDeleting(DeletingElementArgs), which allows me to subscribe whenever I need. Either way, I need to have proper access to the Element being deleted so I can properly cascade changes to other Elements that may be affected.