Recommendation: entities should contain only core business logic and be readable as a specification of the domain. They should not accept command messages, decode command attributes, or return events. Kept this way, an entity could be moved from Eventide to an ORM without change — entities are your biggest, strongest asset.