Added LazySingleton pattern