tweaking the event args classes
changed the type of the modifier removed event so it can work without a Modifier object

The Modifier object will have already been destroyed when this event
fires, so it provides the ModifierSpec instead.
implemented modifier removed event