make emulateCSV final, add a single common all-inclusive (private) constructor that all other constructors tree up to and invert the constructors