Decouple persistent layer and domain layer