 
       <hr />
 
-      {unless @props.task.questionsOrder.length is 0
+      {if @props.task.questionsOrder?.length
         <div>
           <Details summary="Questions">
             {for questionID in @props.task.questionsOrder

    owner[prop]

  cleanQuestions: () ->
    if @props.task.includeChoices?
      for includeTuple in @props.task.includeChoices
        (maybeProp (maybeProp @props.task.questionsMap, {}) includeTuple[0], []).push includeTuple[1]

    if @props.task.questionsOrder?
      for questionID in @props.task.questionsOrder
        for choiceID in @props.task.choicesOrder
          (maybeProp (maybeProp @props.task.questionsMap, {}) choiceID, []).push questionID

    if @props.task.excludeChoices?
      for excludeTuple in @props.task.excludeChoices
        questionList = @props.task.questionsMap[excludeTuple[0]]
        questionList.splice (questionList.indexOf excludeTuple[1]) 1

    return

  handleImageAdd: (media) ->
    @props.task.images[media.metadata.filename] = media.src

    @props.task.choices[choiceID]?.confusions[confusionID] = details

  addQuestion: ({question, multiple, required, answers, include, exclude, __parsedExtra}) ->
    unless !!question
      throw new Error 'Questions require a "question" column'
    unless !!answers
      throw new Error 'Questions require a "answers" column'

    includeChoices = include.split /\s*;\s*/ if !!include
    excludeChoices = exclude.split /\s*;\s*/ if !!exclude
    questionID = @makeID question

    # don't put it in the default questionsOrder if we've specified choices it should map to
    unless !!includeChoices or !questionID or (questionID in @props.task.questionsOrder)
      qOrder = @maybeProp @props.task, 'questionsOrder', []
      qOrder.push questionID

    # if we specified mapped choices, create those entries instead
    if includeChoices?
      for choice in includeChoices
        choiceID = @makeID choice
        continue unless !!choiceID
        (@maybeProp @props.task, 'inclusions', []).push [choiceID, questionID]

    if excludeChoices?
      for choice in excludeChoices
        choiceID = @makeID choice
        continue unless !!choiceID
        (@maybeProp @props.task, 'exclusions', []).push [choiceID, questionID]

    @props.task.questions[questionID] =
      label: question
