just wondering if `this.state` should be updated. Maybe move line `this.state = this.download.state;` before this ?