I think this should go into `OrderPaymentListener`...