This way, when the remote implementation neglects to update progress, there will still be a somewhat useful progress display, as long as chunks are used.