Remove AbstractSingleton and move logic to VF_Singleton for the core library