/// <summary>
 /// Creates the first and only game manager with the specified Impl.Provider.<br/>
 /// <b>Can only be called ONCE</b>
 /// </summary>
 /// <param name="impl">the implementation provider</param>
 /// <exception cref="ApplicationException">If called more than one time</exception>
 public static void Init(EngineImplementationProvider impl)
 {
     if (_instance == null)
     {
         _instance = new GameManager(impl);
     }
     else
     {
         throw new ApplicationException("Game Manager can only be instanciated once");
     }
 }
 private GameManager(EngineImplementationProvider implementationProvider)
 {
     _implementationProvider = implementationProvider;
 }