Refactors Payment to create separate ShippingAddress model