Add SpinLock
Small refactor
Refactor to use single thread regardless of subscriber count.
Refactor to re-enable specialization.
Make reentrant
Refactor to not replay on notification thread.