/// <summary>
        /// Register to events from the managers the cursor needs.
        /// </summary>
        protected virtual void RegisterManagers()
        {
            IMixedRealityInputSystem inputSystem = CoreServices.InputSystem;

            if (inputSystem == null)
            {
                return;
            }

            // Register the cursor as a listener, so that it can always get input events it cares about
            inputSystem.RegisterHandler <IMixedRealityCursor>(this);

            // Setup the cursor to be able to respond to input being globally enabled / disabled
            if (inputSystem.IsInputEnabled)
            {
                OnInputEnabled();
            }
            else
            {
                OnInputDisabled();
            }

            inputSystem.InputEnabled  += OnInputEnabled;
            inputSystem.InputDisabled += OnInputDisabled;
        }