title: Redux updating nested immutable data
body: <p>I have an issue with updating the immutable redux and quite nested data. Here's an example of my data structure and what I want to change. If anyone could show me the pattern of accessing this update using ES6 and spread operator I would be thankful.</p>
  
  <p>My whole state is an object with projects (key/value pairs - here as an example only one project) that are objects with its own key (and the keys are ids as well), arrays of procedures and inside the tasks:</p>
  
  <pre><code>{ 1503658959473: 
    { projectName: "Golden Gate",
      projectLocation": "San Francisco",
      start:"22/09/1937",
      id:1503658959473,
      procedures:[
        { title: "Procedure No. 1",
          tasks:[
            {name: "task1", isDone: false},
            {name: "task2", isDone: false},
            {name: "task3", isDone: false}
          ]
        }
      ]
    }
   }
  </code></pre>
  
  <p>What I'm willing to do is to update one single task 'isDone' property to 'true'. It's some kind of toggling the tasks. <strong>How can I return this state with that information updated?</strong></p>
  
  <p>The action creator pass this information to reducer:</p>
  
  <pre><code>export function toggleTask(activeProject, task, taskIndex) {
   return {
      type: TOGGLE_TASK,
      payload: {
          activeProject,
          task,
          taskIndex
      }
   };
  </code></pre>
  
  <p>} </p>