We may want to make the parser available as standalone, and different front ends generate the grammar states for the kernel.
This requires access to the states, so public is the correct descriptor.