Field names follow the OASIS "eXtensible Address Language" (xAL) standard:
http://www.oasis-open.org/committees/ciq/download.shtml
Doesn't include the sub-administrative area (United States: county,
Italy: province, Great Britain: county) because it is not required for
addressing purposes.
Makes no assumptions about mutability. The implementing application
can extend the interface to provide setters, or implement a value object
that uses either PSR-7 style with* mutators or relies on an AddressBuilder.