Refactored DataReader and DataWriter to use generic for defining Data class. JProbeCore provides read and write data methods rather than the DataReaders and DataWriters.