Refactored form handling

Split form in two to serialize it and used a more generic function to
complete the person.