(looking for thoughts on this)

Event sourcing is an architecture/idea in which the history of events occuring to any entity is used create the entity as represented in the read model. It is typically used in the CQRS architecture but this is not mandatory - any architecture which allows for the identification of discrete data impacting events can do this and in fact at the lowest level most actually do.

However in most examples the event history applies to the entire entity. I think a more powerful way of looking at this is that an entity can comprise an associated collection of histories each of which is analoguous to a property.

For example, a "Company" entity might have an event stream representing the company legal trading name, an event stream representing the employee count and so on. If each event stream has an "as-of" function that returns its value as at a given point in time it is possible to create the state of the company entity as at any effective date/time.