Form with nested CustomFields

I use a CustomField (AddressField in my case) to add nested forms for Addresses inside my Person class.
Addresses are stored in a Set inside the person object (person.addresses).
My approach is to iterate over this set and for each address is add an “addressProperty” to my BeanItem with BeanItem.addItemProperty.
Then my FieldFactory returns an AddressField for each “addressProperty” wich is attached to the form.
Though this approach works fine I don’t know if this is a good solution.
My question is now if there a better way to achieve what my solution does?

The second thing I want to implement is a dynamic way of adding Addresses to my Person object when the user clicks a button “Add address”.
If this happens a new Addressfield should be added to the form. Though I think this would work with my solution it would be a real hack as I must then add the new address object by hand to the set.