Separated TableReader and Writer into their own classes