Я согласен с другими, отвечающими на эту тему; Я бы обобщил.
Подумайте о создании класса, скажем, с именем «TimedAction». Это может быть параметризовано для выполнения какого-либо действия в указанное время; тогда вы просто сообщаете «TimedAction», что он собирается делать в это время. Это позволяет вам модифицировать Действие и дает вам гибкость для других Действий, которые вам, возможно, потребуется выполнить.
Идея в том, что вы хотите, чтобы что-то произошло в определенный момент времени. Вместо того, чтобы думать об этом как о чем-то, чего вы хотите, подумайте об этом как о чем-то происходящем. Следовательно, вы создаете класс для события TimedAction и параметризуете что-то. Это в отличие от вашего первого инстинкта создания класса для чего-то, что происходит.