decoupled store ddd