Maybe a method directive, off the top of my head, it can be tricky to get the controls on the form to show the new values (refresh) after a directive runs. Why I sometimes use a form customization for handling lists like this.
On a related note, if you haven’t already seen this thread…contains some good, general info on maintaining list items.