         # Get the initial slider position
         @_sliderInitialOffset = @_jSlider.offset()
 
+        # Build the row and the editor 
         @_buildRow()
-
         @_buildEditorCells()
         @_updateEditorCells(1)
 
-        # The Switch to Dashboard
+        # The Switch to Dashboard click event
         $(@_idReturnButton).click((event)=>@_switchToDashboardClicked(event))
 
-        # Reset button clicked
+        # Reset button click event
         $(@_idResetRowButton).click((event)=>@_resetRow(event))
 
-    # Reset the initial row
+    #
+    # Event handler when the user clicks the Reset button
+    # 
     _resetRow: (event)->
         @_generateInitialBinary()
         @run()
 
+    #
+    # Event handler when the user clicks the "Switch to Dashboard"
+    # 
     _switchToDashboardClicked: (event)->
         @_Tabs.showDashboardTab()
 
+    #
+    # Event handler when the mouse moves the slider
+    # 
     _moveSlider: (ev)=>
+        # Get the mouse position
         xMousePos = ev.clientX
         closestEdgePx = xMousePos - (xMousePos%@_colWidth)
+
+        # Calculate the relative position of the slider
         leftPos = closestEdgePx-@_sliderPxToMid
         rightPos = closestEdgePx+@_sliderPxToMid+@_colWidth
         fullWidth = @_totalWidth + @_colWidth
 
+        # Adjust the calculation based on a fudged initial offset
         adjustedLeft = leftPos+@_sliderInitialOffset.left
 
         if adjustedLeft >= @_sliderInitialOffset.left && rightPos <=  fullWidth

            @_jEditorCells[cell].text(cellPos)
            @_jEditorCells[cell].data('cellIndex',cellPos)

            if @_aRowBinary[cellPos] is 1
                @_jEditorCells[cell].addClass(@_classEditorCellActive)
            else
                @_jEditorCells[cell].removeClass(@_classEditorCellActive)
            
            

    _buildEditorCells: ()->
        cellTemplate = $(@_idTmplEditorCell).html()


        for cell in [1..@_sliderCols]
            tmpId = "editor-cell-"+cell
            leftPos = (cell-1)*@_editorCellWidth

            # Create and append the editor cell via Mustache template
            rendered = Mustache.render(cellTemplate, {id:tmpId, left:leftPos})
            @_jEditorContainer.append(rendered)

            @_jEditorCells[cell] = $("#"+tmpId)

            # Setup the click event when a user toggles a cell by clicking on it
            @_jEditorCells[cell].click(@_toggleEditorCell)

    #
    # Event handler for when a user clicks on a cell that they
    # want to activate or deactivate
    # 
    _toggleEditorCell: (event)=>

        jTmpCell = $("#"+event.target.id)

        cellNo = jTmpCell.data('cellIndex')
        if @_aRowBinary[cellNo] is 1
            # Deactivate the cell 
            @_aRowBinary[cellNo] = 0
            jTmpCell.removeClass(@_classEditorCellActive)
            $('#'+@_prefixSliderCol+cellNo).removeClass(@_classSlicerCellActive)
        else
            # Activate the cell
            @_aRowBinary[cellNo] = 1
            jTmpCell.addClass(@_classEditorCellActive)
            $('#'+@_prefixSliderCol+cellNo).addClass(@_classSlicerCellActive)

        # Set the new binary configuration for the generator
        @_Vars.setTopRowBinary(@_aRowBinary)
        

    #
    # Setup the initial binary representation of the row
    # 
    _generateInitialBinary: ()->
        # The middle cell is the only one initially active
        seed_col = Math.ceil(@_noColumns/2)
        
        for col in [1..@_noColumns]
