Macros for defining Singletons