Added a GenericSingleton.cs