The OpenType Layout common table formats, shared by GPOS and GSUB.
Both tables have the same outer structure - a script list, a feature list and
a lookup list - and both reach glyphs through coverage tables. Only the
innermost subtables differ: GSUB substitutes glyphs, GPOS positions them.
That shared outer structure is what lives here.
The indirection is deep because the format is: a script tag selects a language system, which selects feature indices, which select lookup indices, which select lookup subtables. A parser that wants "the kerning pairs" has to walk all five levels.