```python title="Python" import threading from kreuzberg import ExtractionResult class StatefulPlugin: def __init__(self): self.lock: threading.Lock = threading.Lock() self.call_count: int = 0 self.cache: dict = {} def name(self) -> str: return "stateful-plugin" def version(self) -> str: return "1.0.0" def process(self, result: ExtractionResult) -> ExtractionResult: with self.lock: self.call_count += 1 self.cache["last_mime"] = result.mime_type return result def initialize(self) -> None: pass def shutdown(self) -> None: pass ```