Generalise CsvOutput to work on Seq[Product] ie case classes