With automatic trait tracking, UIKit detects when you read traits (like the size class) in layoutSubviews (etc.) and automatically calls setNeedsLayout (etc.) when those traits change. 🤯