Hello gavphillips!
Only one remark. Be very carfull if you allow user makes multiple add/edit/remove in once. Depend on situation you will have to protocol exactly the order of changes which user do. Moreover if errors like data inconsistence will be produced in user input, if will be very difficult for both server and user to solve the problems.
For example, if you have some unique indexes in the database and user's input try to brake it. In the case server have to produce an error message with enough information for user to modify his input data. If at the end he will have to input all multiple data one more time, the user will not be happy with your problem. An error after the first wrong input can be more user friendly.
If you plan use “multiple add/edit/remove in once” a good client side data validation could be mandotory.
Or another problem. If user delete some data row and add a new one, everything could be correct from the server side. But if you not protocol the changes, you can interpret user input as data modification, which could produce incorrect data changes.
Of cause everything depends from context. A dangerous is also, that if “multiple add/edit/remove in once” in your first model is correct, but during some changes you'll break this. In a komplex model could be very difficult to find such problems.
So my personal recommendation: do all more simple and you will receive the best results. So think twice about whether you really should invest in “multiple add/edit/remove in once”. In the time of quick communication, sending one row to server and back could be the best way.
Regards
Oleg