Add a safe SpinLock class
Implement atomic disposal, `disposed` property