Factor line generation in ProtoUser
Use field.displayName even for the password field
Avoid overriding signup in ProtoUser
Filter ProtoUser fields by type
Use passwordField rather than user in ProtoUser
Split up code in ProtoUser for readability