template < class T > class DeletableSingleton { public: static void ScheduleDestruction (T*, void (*pFun)()); static void OnDeadReference(); };