Why is the payment processor so strongly coupled to the point that you would need to rewrite it? I understand there's effort to adapt it but I don't think it's good to write the code like that.