/// <summary>
        /// On init, we grab our image component, and set our sprite in its initial state
        /// </summary>
        protected virtual void Initialization()
        {
            _image         = GetComponent <Image> ();
            _mmTouchButton = GetComponent <MMTouchButton> ();
            if (_mmTouchButton != null)
            {
                _mmTouchButton.ReturnToInitialSpriteAutomatically = false;
            }

            if (_image == null)
            {
                return;
            }
            if ((OnSprite == null) || (OffSprite == null))
            {
                return;
            }

            if (StartsOn)
            {
                _image.sprite = OnSprite;
            }
            else
            {
                _image.sprite = OffSprite;
            }
        }
        /// <summary>
        /// On init, we grab our image component, and set our first sprite as specified
        /// </summary>
        protected virtual void Initialization()
        {
            _mmTouchButton = GetComponent<MMTouchButton> ();
            if (_mmTouchButton != null)
            {
                _mmTouchButton.ReturnToInitialSpriteAutomatically = false;
            }
            _image = GetComponent<Image> ();
            if (_image == null) { return; }

            SwitchToIndex(StartIndex);
        }
        /// <summary>
        /// On init, we grab our image component, and set our sprite in its initial state
        /// </summary>
        protected virtual void Initialization()
        {
            // grabs components
            _image          = GetComponent <Image> ();
            _spriteRenderer = GetComponent <SpriteRenderer>();

            // grabs button
            _mmTouchButton = GetComponent <MMTouchButton> ();
            if (_mmTouchButton != null)
            {
                _mmTouchButton.ReturnToInitialSpriteAutomatically = false;
            }

            // handles start
            if ((OnSprite == null) || (OffSprite == null))
            {
                return;
            }

            if (_image != null)
            {
                if (StartsOn)
                {
                    _image.sprite = OnSprite;
                }
                else
                {
                    _image.sprite = OffSprite;
                }
            }

            if (_spriteRenderer != null)
            {
                if (StartsOn)
                {
                    _spriteRenderer.sprite = OnSprite;
                }
                else
                {
                    _spriteRenderer.sprite = OffSprite;
                }
            }
        }