SubmanagerStatus iSubmanager.Init(ManagerContext context)
        {
            // Set the Initial Major State
            this._majorState = SubmanagerMajorState.INIT;

            // Return success
            return SubmanagerStatus.ERROR_NONE;
        }
        SubmanagerStatus iSubmanager.Shutdown(ManagerContext context)
        {
            // Transition to SHUTDOWN
            this._majorState = SubmanagerMajorState.SHUTDOWN;

            // Report the state change
            this._stateCallbacks(this._majorState);

            // Return success
            return SubmanagerStatus.ERROR_NONE;
        }
        SubmanagerStatus iSubmanager.Enable(ManagerContext context)
        {
            // Transition to ACTIVE
            this._majorState = SubmanagerMajorState.ACTIVE;

            // Report the state change
            this._stateCallbacks(this._majorState);

            // Return success
            return SubmanagerStatus.ERROR_NONE;
        }
        SubmanagerStatus iSubmanager.Init(ManagerContext context)
        {
            // Set the Initial Major State
            this._majorState = SubmanagerMajorState.INIT;

            // Initialize any sub managers
            // Init the Parallax Manager
            // Init the Environment Event Manager
            // Process any Children Environment Layers

            // Configure the Parallax Manager with data from the Environment Layers
            // Configure the Environment Event Manager with data from the Environment Layers

            // Return success
            return SubmanagerStatus.ERROR_NONE;
        }
        SubmanagerStatus iSubmanager.Init(ManagerContext context)
        {
            // Set the Initial Major State
            this._majorState = SubmanagerMajorState.INIT;

            // Setting up the reference shortcut.
            this._cam = Camera.main.transform;

            // Create a list for stored ParallaxControllers
            this._parallaxControllers = new List<ParallaxController>();

            // The 'previous frame' had the current frame's camera position.
            this._previousCamPos = this._cam.position;

            // Return success
            return SubmanagerStatus.ERROR_NONE;
        }