- Allow zero/one-person Couple object for simplicity
- Separate ID and label (this allows people with the identical name to exist in a tree)
- Compute generation from tree data structure
- Optionally allow vertical text direction for names for Asian people
- Further reduce overlapping edges in complicated trees