proc CommandEntry { name label width command args } {
	frame $name
	label $name.label -text $label -width $width -anchor w
	eval {entry $name.entry -relief sunken} $args
	pack $name.label -side left
	pack $name.entry -side right -fill x -expand true
	bind $name.entry <Return> $command
	return $name.entry
}
CommandEntry .name Name 10 UpdateAddress -textvar addr(name)
CommandEntry .address1 Address 10 UpdateAddress \
	-textvar addr(line1)
CommandEntry .address2 "" 10 UpdateAddress \
	-textvar addr(line2)
CommandEntry .phone Phone 10 UpdateAddress \
	-textvar addr(phone)
pack .name .address1 .address2 .phone
