bpt: refactoring, abtract class for donations
bpt: refactoring, use factory to query details from donation platforms