It would be useful to have a client-side hook that fires whenever a statement is edited. In the WikibaseQualityConstraints extension, we would use this to re-check constraints on a statement after it has been edited, but it would probably also be useful to other user scripts and gadgets.
I propose the name wikibase.statement.edit (.add and .remove could be added later), and the arguments entityId, statementId, oldValue, newValue. The hook names are wikibase.statement.saved (add or edit) and wikibase.statement.removed, and the arguments are just entityId and statementId for now.
For the time being, the hook would be considered just as unstable as the rest of the Wikibase JavaScript code (one of the Unstable Interfaces not covered by the Stable Interface Policy).
(Implementation memo: mw.hook( 'wikibase.statement.edit' ).fire( … ) in ToolbarViewController.stopEditing, in the _model.save callback.)