You would have to assign the array by reference for that, but as it works right now you need to mark the property as dirty if you want the table to save it. Personally, I think that is a good compromise between performance and usability, there is not much extra burden in marking the property as dirty.

Should we instead eagerly try to save whatever we find in the array?