Some time ago I've written an article on creating memory efficient events. Over a year later - that is today, I have found that a Control class has a built in property Events that is there for this very purpose!
Ehh. ASP.NET never stops to surprise me (both positively and negatively). This time it was positive.