Refactor BatchFeeCollectionDiscount and FeeCollectionDiscount and test for FeeCollectionDiscount