isDone true if current duration same as max duration
bool isDone(Duration duration) => !isInfinity && duration >= maxDuration!;