public static Superintendent Initialize() { if (Instance != null) throw new Exception("Already initialized"); Instance = new Superintendent(); Instance.InnerInitialize(); return Instance; }