         required: true
     {}
   idAttribute: "name"
+  parse: () ->
 
   constructor: (@key, valOrObj={}, @parentRow)->
+    if @key of XLF.RowDetailMixins
+      _.extend(@, XLF.RowDetailMixins[@key])
     super()
     vals2set = {}
     if _.isString(valOrObj)

    else
      vals2set.value = valOrObj
    @set(vals2set)
    if @key of XLF.RowDetailMixins
      _.extend(@, XLF.RowDetailMixins[@key])
    @_order = XLF.columnOrder(@key)

  getSurvey: ()-> @parentRow.getSurvey()

      listToSet = @_parent.choices.get(list)
    throw new Error("List not found: #{list}")  unless listToSet
    @get("type").set("list", listToSet)
  parse: ->
    for key, val of @attributes
      val.parse()

  attributesArray: ()->
    arr = ([k, v] for k, v of @attributes)
