Split Core/Macros.h into Core/Singleton.h and Core/Class.h