Would this approach be thread safe? The static initialiser does some kind of lock?