Use PrivateAttr for mutable default and add type annotation
- Replace mutable class-level set() with PrivateAttr(default_factory=set)
to ensure each instance gets its own set
- Add type annotation for deprecated_fields to satisfy mypy
- Sort deprecated fields for consistent warning order