I don't understand why this needs another model. Why can't you use `Spree::CreditCard` and save the encrypted key from the gateway back to `gateway_profile_id` on a `Spree::CreditCard` instance?