defonTimeout(started: Long, tasks: List[String]): Long
Subclasses can override if they want to log the timeout event.
Subclasses can override if they want to log the timeout event.
the method should return the next timeout value. If 0, then
it will not check for further timeouts.
A TaskTracker is used to track multiple async processing tasks and call a callback once they all complete.