True. There are a few basic properties that might be
First, reusability. Some, like pits, are unaffected by enemies stepping into them. Some, like landmines, remove themselves after triggering once. Some…I THINK might remove themselves and drop their base item. Like bear traps, I think? I’d need to double-check that. And there might even be the possibility of a trap transforming into another trap after being triggered.
Second, the possibility of mines that have different effects. By far, the easiest way to enable that would be to allow it to use the same code as exploding items like grenades, allowing for variations in explosion power, fragments or other special effects.
Raw damage-effect traps like caltrops might be easily JSONizable too, but allowing for variable damage, and possibly adding effects or debuffs (stunned, tripped, bleeding, etc) might work.
And then finally there’s silly things like the noisemaking effect of bubblewrap. Allowing for variation in volume and message displayed would allow for tin-can alarm systems.