GameStates as enum and try enum singleton
Added volatile modifier to Singleton instances