design domain model without events