Currently jQuery.wikibase's .claimview, .statementview, .claimlistview and .referenceview are handling API calls directly to save the data model object they are representing.
Each of those widgets is constructing a new wb.AbstractedRepoApi() instance and calling the API action for handling its data model object.
Depending on the actual implementation, this had the potential to significantly increasing the widgets testability, reusability and simplicity by redefining the widget's responsibility to solely act as a view serving the interface for editing a model (or "view model" following the example of jQuery.wikibase.snakview).
The way how to actually do this had to be carefully considered and discussed.
Version: unspecified
Severity: minor
Whiteboard: u=dev c=frontend p=0