I think the primary issues is the inability to update a data source. Whether that's done at the Designer level via a new Admin.updateDataSource() method or under the hood via the createDataSource() (check for existing, reconcile properties and update the configuration) doesn't matter.
So currently Designer has to remove/add to insure any new properties are attached to the updated data source.
Barry