Changed events to use spinlock instead of mutex