minor clean up
no need to make lastProgress an AtomicLong, Listeners run in the Channel Thread