Create `TableHeaderList<TItem, TOwner>` class inherited from `ControlList<TItem, TOwner>` with indexer: ```cs public TItem this[string headerText] { get; } ``` Change the property type of `Table<THeader, TRow, TOwner>.Headers` to the newly created type: ```cs public TableHeaderList<THeader, TOwner> Headers { get; } ```