Question says it all.
Related thought/question:
Is there a way to "bubble-up" events then change the original sender without "intercepting" the event?
Example implementation:
public class Wheel
{
public EventHandler<WheelTurningEventArgs> Turning;
}
This is the one without the sender in the EventArgs:
public class WheelTurningEventArgs : EventArgs
{
public int TotalTurnCount { get; set; }
}
... and this is the one with the sender in the EventArgs.
public class WheelTurningEventArgs : EventArgs
{
public Wheel Wheel {get; set;} //include a reference to the wheel that invoked this event
public int TotalTurnCount { get; set; }
}