can you explain why you have `get_approrpriate_credit_form` instead of just specifying `self.credit_form` here?