Why is this scheduled periodically rather than only once (e.g. why did you use `Timer.scheduleAtFixedRate()` instead of `Timer.schedule()`)?