Good use of subclassing here. In the near future, I think this csv support should move to be a codec instead, but this is a good start!