protected virtual void Update()
        {
            // See if the timer can be incremented
            var set = false;

            if (Selectable.GetIsSelected(RawSelection) == true)
            {
                if (RequireFinger == false || Selectable.SelectingFinger != null)
                {
                    seconds += Time.deltaTime;

                    if (seconds >= Threshold)
                    {
                        set = true;
                    }
                }
            }

            // If this is the first frame of set, call down
            if (set == true && lastSet == false)
            {
                if (onSelectableDown != null)
                {
                    onSelectableDown.Invoke(Selectable);
                }
            }

            // Call set every time if set
            if (set == true)
            {
                if (onSelectableSet != null)
                {
                    onSelectableSet.Invoke(Selectable);
                }
            }

            // Store last value
            lastSet = set;
        }