Updated Donation to have some attributes specified to look up the user and campaign.
Donation should now be considered an aggregate root in the model.