It's better to remove private property setters to make Address value object truly immutable. Otherwise, it's possible to change the object by setting properties inside its methods for example.
```
protected override IEnumerable<object> GetAtomicValues()
{
Street = "Blah blah blah";
City = "Blah blah blah";
// Using a yield return statement to return each element one at a time
yield return Street;
yield return City;
yield return State;
yield return Country;
yield return ZipCode;
}
```