Make Singleton generic Singleton<T>