Redone to double-checked locking idiom