Whenever you're ready, walk me through how you'd approach this.
How would you implement a thread-safe singleton pattern? Explain how you prevent race conditions during initialization, and mention any trade-offs in the design.