     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
+          continue if @props.task.choices[choiceID].noQuestions
+          qMap = @maybeProp @props.task, 'questionsMap', {}
+          qSet = @maybeProp qMap, choiceID, []
+          qSet.push questionID
+
+    if @props.task.inclusions?
+      for includeTuple in @props.task.inclusions
+        qMap = @maybeProp @props.task, 'questionsMap', {}
+        qSet = @maybeProp qMap, includeTuple[0], []
+        qSet.push includeTuple[1]
+
+    if @props.task.exclusions?
+      for excludeTuple in @props.task.exclusions
+        qMap = @maybeProp @props.task, 'questionsMap', {}
+        qSet = @maybeProp qMap, excludeTuple[0], []
+        index = qSet.indexOf excludeTuple[1]
+        qSet.splice index, 1
+
+    delete @props.task.inclusions
+    delete @props.task.exclusions
 
   handleImageAdd: (media) ->
     @props.task.images[media.metadata.filename] = media.src


      <hr />

      {unless @props.task.questionsOrder.length is 0
        <div>
          <Details summary="Questions">
            {for questionID in @props.task.questionsOrder

        choices: {}
        questionsOrder: []
        questions: {}
        inclusions: []
        exclusions: []
        questionsMap: {}
      @props.workflow.update 'tasks'

  resetMedia: (e) ->
