pub trait State: Sealed { type UsedAt; type UsedBy; }
State trait tracking which required fields have been set