Override onEquipped(), onUnequipped(), and canUnequip() in DataDrivenBondageItem to delegate to the item's ComponentHolder. The canUnequip() override preserves the existing lock check from AbstractV2BondageItem via super.canUnequip(). Add a static getComponent() helper for external code to retrieve a typed component from any data-driven item stack.