IMHO this [0] and [1] index is slightly confusing.  One way around would be to link the `load_x` functions in each of the `XTrajectoryFile` namespaces, so that the loader_registery just needs to specify the `XTrajectoryFile`, and the load function would then call `XTrajectoryFile.load()`.  

Not sure if it's worth the effort, but might be a way to better modularize the code (e.g. XTC code goes in XTCTrajectoryFile).