Also, I was initially confused what was meant by "internal", but figured it out from looking at the list of descriptors.  Using "container" might be clearer.

And I assume that all descriptors should appear in one list or the other.  Define the lists as constants at the top of the file.  Is there some place to put this so that it happens automatically, so that people who develop a new module will know to add their module here?