+1 Yeah unfortunately with all the different states that would be difficult a lot of CAS loops :P  For the first past just having it do locking is way easier imo and it is for tests so performance isn't critical.