Tweaking GameSaveSystem.Initialize to throw if you call it multiple times so it's more explicit rather than quietly ignoring the function call.
Made a public property to check if the system's initialized so games can also use that to prevent accidentally re-initializing the system.