                     return
             else
                 if $option.text().toLowerCase().substr(0, text.length) is text.toLowerCase()
-                    that.dropSelect.$drop.find('.drop-select-option-highlight').removeClass('drop-select-option-highlight')
-                    $option.addClass 'drop-select-option-highlight'
+                    @setOptionHighlight option
                     return
 
             optionsChecked += 1
             i += 1
+
+    setOptionHighlight: (option) ->
+        @dropSelect.$drop.find('.drop-select-option-highlight').removeClass('drop-select-option-highlight')
+        $(option).addClass('drop-select-option-highlight')
 
     selectHighlightedOption: ->
         @selectOption @dropSelect.$drop.find('.drop-select-option-highlight')[0]

            else if direction is 'down'
                $newSelection = $currentSelection

        @dropSelect.$drop.find('.drop-select-option-highlight').removeClass('drop-select-option-highlight')
        $newSelection.addClass('drop-select-option-highlight')

    selectOption: (option) ->
        @$select.val($(option).data('value'))

            @selectOption e.target

        @dropSelect.$drop.on 'mousemove', '.drop-select-option', (e) =>
            @setOptionHighlight e.target

window.Select = Select