How is this better than a simple
static Singleton instance;
? It's automatically thread-safe.