I'm not sure if keying off currentProgress changes is best.  I'm thinking of a situation where you've a stream with no content length set, which means event.total wouldn't be defined so you wouldn't get progress notifications even though data is arriving.  I think a progress event should be sent when there's the callback even if the percents don't change.