I don't like the duplicate upstream consumer class. Can we use the same table cp_upstream_consumer? What if we add a discriminator to it like we do with provided and derived products?