private void Update()
    {
        if (stopTimer)
        {
            return;
        }

        if (timerIsRunning)
        {
            if (timeRemaining > 0)
            {
                timeRemaining -= Time.deltaTime;
                DisplayTime(timeRemaining);
                if (timeRemaining <= 5 && fmodEvent.enabled == false)
                {
                    fmodEvent.enabled = true;
                }
            }
            else
            {
                timeRemaining  = 0;
                timerIsRunning = false;
                CountCompleted?.Invoke();
            }
        }
    }
 protected virtual void OnCountCompleted() //protected virtual method
 {
     CountCompleted?.Invoke();
 }