Split the data table factory into reader and writer classes for each input type.