1. Do not use cached value for BytesCompleted 2. Refactor JS a bit 3. Allow disabling progress emitter
based on commit by Audrius Butkevicius <audrius.butkevicius@gmail.com>