@Cadair - the idea is `io.ascii` is more of a specialized registry for Reader classes.  By using metaclasses the registration happens automatically at the time the class type is defined, so the application code (making your own reader or coordinate system class) doesn't need to explicitly worry about registration.  There is only one module-level registry in this case, and it uses class attributes to define the needed meta values.

https://github.com/astropy/astropy/blob/master/astropy/io/ascii/core.py#L689
https://github.com/astropy/astropy/blob/master/astropy/io/ascii/core.py#L763