New data reader modules need to provide just reader :: Reader, which is the format name, a detector predicate, and a parser.