4.4. Rearchitecting with Data-Oriented Design