Implementing the singleton pattern in a lazy manner