       expectation4.fulfill()
     }
 
+    // [3] observer
     let token5 = viewContext.addManagedObjectContextDidSaveNotificationObserver() { notification in
-      // Before saving, we didn't changed anything: we don't expect nothing from this notification.
       XCTAssertEqual(notification.insertedObjects.count, 0)
       XCTAssertEqual(notification.updatedObjects.count, 0)
       XCTAssertEqual(notification.deletedObjects.count, 0)

    let viewContext = container.viewContext
    let backgroundContext = container.viewContext.newBackgroundContext(asChildContext: false)

    let expectation1 = expectation(description: "\(#function)\(#line)")
    let expectation2 = expectation(description: "\(#function)\(#line)")
    let expectation3 = expectation(description: "\(#function)\(#line)")

      person3_inserted.firstName = "Alessandro"
      person3_inserted.lastName = "Marzoli"

      try! backgroundContext.save() // fires [0], [4] and then [1]
    }

    waitForExpectations(timeout: 20)
