Allows the nested store to perform server-side transactions via the data source. This produces a proper separation between the different layers so the main store contains only data that has been approved and committed by the backend server.
Add a method to push only successful changes to the main store. This allows easy management in the case of completely independent rows being sent to the server and only a part of them being accepted.
At the end of commitSuccessfulChanges, reset the local private statuses of the CLEAN records (just pushed to the main store) so these records are no longer managed by the nested store but by the main store.