note: in the multi-recipient patch, I'd like that we use the internal array here instead of using the DOM as the model.