Refactor adding Payment domain-class and PaymentLink to make the relation between Payment and PaymentWithImplement