         cube.visible = false
         cube.active = false
 
-    headIndex = 0
     update = new Date().getTime()
-    for id, touchData of @touchMap
-      trailHead = @trailHeads[headIndex]
-      # Trail heads may have not loaded.
-      unless trailHead?
-        continue
-      if touchData.on
-        cube = @_cycleCube(touchData.x, touchData.y)
-        trailHead.position.copy(cube.position)
-        trailHead.traverse (obj) ->
-          obj.visible = true
-      else if trailHead.updatedOn != update
-        trailHead.position.z -= CUBE_DECREMENTS
-        trailHead.updatedOn = update
-        if trailHead.position.z < -CUBE_DISTANCE_LIMIT
+    for userId, touches of @touchMap
+      headIndex = 0
+      for id, touchData of touches
+        trailHead = touches.heads[headIndex]
+        # Trail heads may have not loaded.
+        unless trailHead?
+          continue
+        if touchData.on
+          cube = @_cycleCube(touchData.x, touchData.y)
+          trailHead.position.copy(cube.position)
           trailHead.traverse (obj) ->
-            obj.visible = false
-      headIndex = (headIndex + 1) % @trailHeads.length
+            obj.visible = true
+        else if trailHead.updatedOn != update
+          trailHead.position.z -= CUBE_DECREMENTS
+          trailHead.updatedOn = update
+          if trailHead.position.z < -CUBE_DISTANCE_LIMIT
+            trailHead.traverse (obj) ->
+              obj.visible = false
+        headIndex = (headIndex + 1) % touches.heads.length
 
     for foxHead, foxHeadIndex in @foxHeads
       if not foxHead.active


    cube = @_cycleCube(cartesianX, cartesianY)

    switch message.type
      when NoteMessenger.NOTE_START, NoteMessenger.NOTE_CONTINUE
        @touchMap[message.identifier] =
          on: true
          x: cartesianX
          y: cartesianY
          cube: cube
          userId: message.userId
      when NoteMessenger.NOTE_END
        @touchMap[message.identifier].on = false


  _cycleCube: (x, y) ->


    @touchMap = {}

    @currentHeadIndex = 0

    @scene = new THREE.Scene()

    @_initCubes()
