Scheduler is too simple to be a separate class, suggest use ScheduledThreadPoolExecutor directly