new donation flow
Update and move donation-processing code into it's own file