Just had a random thought concerning game component object systems.
If the system is optimized to quickly add and remove components, then an event system could be realized by adding and removing components.
So instead of having a complex event system to send events between components, you would add a specialized component that performs or represents the event.
The component would then be removed when the event is processed.
Not entirely sure how flexible it would be, but it would sure be easier to optimize for cache and multiple threads.
Yes, this blog has been neglected lately, I'm going to give it some attention again soon (I hope).
Real life has simply thrown several projects my way which is taking all my time at the moment.