java.util.TimerTask is an abstract class that implements Runnable interface
and we need to extend this class to create our own TimerTask that can be scheduled using java Timer class and
java.util.Timer class can be used to schedule a task to
be run one-time or to be run at regular intervals at certain time in future.
https://stackoverflow.com/questions/4544197/how-do-i-schedule-a-task-to-run-at-periodic-intervals