The public realm might be defined as "any sections of the physical environment where the public has open access, including parks, streets, squares, and other rights of way, whether in residential, commercial, or civic usage." In software engineering, the public realm is the part of an application that will not change over time, such as its configuration database. It may also include data that is common to all users, such as a list of allowed currency codes for a travel site. In object-oriented programming, the public realm is composed of persistent objects with identity values that can be accessed by any part of the program. Identity values are used instead of or in addition to global names because they do not conflict with functions that may be added to the program later. For example, if a new method is added to the Customer object that sends email, it will not affect the existing email address because these identities are unique to each customer. Similarly, if two customers order the same product, their orders do not conflict because they have different identity values. The private realm includes information that should only be accessible to certain parts of the program. This could be any data that should not be secret, such as account numbers, or that should not be shared with certain people or organizations, such as customers' personal information. The private realm is sometimes called internal state because it represents what is known within the program at any given moment.