Do not spinlock in XMSEventDistributor. Synchronize on event stack.

Is there a reason why this is a stack and not a queue?