Well, thats's a valid objection. I tried to achieve this behavior in Ajax.js by calling 

this.setProperty('currentProgress', event.total ? event.loaded / event.total : 0);

which should actually be this.setPropertyValue. This function used to call the Changed function regardless of an actual change. But it seems to be gone in the current master branch anyway.
What would be a better approach then? Simply overloading setCurrentProgress?