 
     Q(accRow)
 
-  columnName: () ->
-    @_toCol
+  transformHeader: (headerAccumulator, originalHeader) ->
+    headerAccumulator.concat [@_toCol]
 
   priority: () ->
     @_priority or 3000

  _transformValue: (valueTransformers, value) ->
    safeValue = if util.nonEmpty(value) then value else ''
    _.reduce valueTransformers, ((acc, transformer) -> transformer.transform(acc)), safeValue

class ColumnTransformer extends ColumnMapping
  @create: (transformers, options) ->

    Q.all columnPromises

  transformHeader: (columnNames) ->
    _.reduce @_columnMapping, ((acc, mapping) -> mapping.transformHeader(acc, columnNames)), []

  transformRow: (row) ->
    mappingsSorted = _.sortBy @_columnMapping, (mapping) -> mapping.priority()
