Well its not a bad idea.. but it needs to be a little more segmented. you must now ask yourself this question. does this new subscription to "events" model become a service or built into the kernel?
I would suggest a service, that can be setup in XML format, stored in a location in the windows folder where a user can programmatically create an object that can subscribe to a list of the events currently connected to that service.
this way you can make custom events, and any application can use this service to expose events within their respective apps.
its a fun concept, unfortunatly you need time to develop it