`add_credit` writes to the DB only if the `CreditLine` needs to be created, this needs to happen so that the `CreditAdjustment` in `adjust_credit_balance` has an existing object to reference.

Note that `adjust_credit_balance` is applied to the `credit_line` in source credits and `add_credit` is used to create the `transferred_credit`. I'm not sure how I can reduce the number of calls here?