Opening drill
Separate API, domain, and persistence models deliberately | Aporeon