new DataExchange::Reader/Writer (abstract smartpointer) classes to establish interface for xml/json variants