The normalization of donation data is a sound and essential mechanism in our stack. Let's redo the DonationData class to handle it better. We should also consider moving it to SmashPig, so the same normalization facilities can be accessed across the stack.
(For an older, more detailed proposal, see T86261.)