private static IEnumerator Start(TweenFloat tweenInfo)
    {
        if (!tweenInfo.ValidTarget())
        {
            yield break;
        }

        var elapsedTime = 0.0f;

        while (elapsedTime < tweenInfo.duration)
        {
            elapsedTime += tweenInfo.ignoreTimeScale ? Time.unscaledDeltaTime : Time.deltaTime;
            var percentage = Mathf.Clamp01(elapsedTime / tweenInfo.duration);
            tweenInfo.TweenValue(percentage);
            yield return(null);
        }
        tweenInfo.TweenValue(1.0f);
    }