//DEAD CODE FOR NOW
        protected virtual bool WillFirstReminderBeRemoved(List <ReminderEntity> remindersToBeRemoved)
        {
            if (!ElapsedActiveReminders.Any())
            {
                //it will not be removed because it doesn't exist
                return(false);
            }

            ReminderEntity firstReminder = ElapsedActiveReminders.First();
            bool           firstReminderWillBeRemoved = remindersToBeRemoved.Any(rem => rem.Name == firstReminder.Name);

            return(firstReminderWillBeRemoved);
        }
        /// <summary>
        /// Immediately fires next event if there is any reminder in the list, or goes to NoElapsedReminders state otherwise.
        /// </summary>
        protected virtual void GoToRingingOrIdleState(DateTime now)
        {
            if (ElapsedActiveReminders.Any())
            {
                var nextToRing = ElapsedActiveReminders.First();

                GoToRingingState(nextToRing.Name, now);
            }
            else
            {
                UserState = UserInteractionState.NoElapsedReminders;
                Log.Logger.Information($"No elapsed reminders in the list. GoToRingingOrIdleState method is setting state to NoElapsedReminders");
            }
        }