do you have a sense of how many database saves this method calls and whether that number can be reduced? is it right that both `add_credit` and `adjust_credit_balance` will write to the DB and is that necessary?