I have a catalog of durable items which a player can purchase for virtual currency. I'm adding a "battle pass" feature that allows players to purchase all items for free but for the duration of the "battle pass" (1 month). When the "battle pass" is active, after each item purchase I want to make sure the acquired items expire in 1 month. As an option, I can create a catalog copy and switch all items to be "consumable by time" (1 month) and when the "battle pass" is active, instead of purchasing the durable items, I switch to the consumable catalog, this will force me to keep a duplicate of each item in both places which double the effort to manage it. Is there a better way to define durable vs consumable in runtime based on the user's "battle pass" status?