Is there any "approved" method of controlling the order in which delegates are invoked when an event occurs, other adding them to the event in the "right order".

I guess I'm looking for something like a PriorityQueue for the delegate collection.

At the moment I'm using chained events but its a bit clumsy, as well as proliferating the number of event classes.

Thanks PhilD