Okay, let's make it simpler. Just a single partitioner for both users and products, customizable via a setter function.