docs: def cleanup_interfaces(self):
          """
          Removes all /sys/class/gpio/gpioN interfaces that this script created,
          and deletes callback bindings. Should be used after using interrupts.
          """
          debug("Cleaning up interfaces...")
          for gpio_id in self._gpio_kernel_interfaces_created:
              # Close the value-file and remove interrupt bindings
              self.del_interrupt_callback(gpio_id)
  
              # Remove the kernel GPIO interface
              debug("- unexporting GPIO %s" % gpio_id)
              with open(_SYS_GPIO_ROOT + "unexport", "w") as f:
                  f.write("%s" % gpio_id)
  
          # Reset list of created interfaces
          self._gpio_kernel_interfaces_created = []