         className.replace(new RegExp("\\b#{ prefix }\\S+", 'g'), '').replace(/\s+/g, ' ')
 
 $ ->
-    drop.updateBodyClasses()
-
-    $(document).on 'openDrop.drop, closeDrop.drop', (event) -> drop.updateBodyClasses()
-
-    $(window).on 'resize', debounce(-> drop.positionAll())
-    $(window).on 'scroll.drop', debounce(-> drop.positionAll())
-
-drop =
+    Drop.updateBodyClasses()
+
+    $(document).on 'openDrop.drop, closeDrop.drop', (event) -> Drop.updateBodyClasses()
+
+    $(window).on 'resize', debounce(-> Drop.positionAll())
+    $(window).on 'scroll.drop', debounce(-> Drop.positionAll())
+
+Drop =
     baseClassNames:
         drop: 'drop'
         dropContent: 'drop-content'

        $target.drop 'positionDrop'

        $target
            .addClass(drop.baseClassNames.opened)
            .removeClass(drop.baseClassNames.closed)

        options.$drop
            .addClass(drop.baseClassNames.opened)
            .removeClass(drop.baseClassNames.closed)

        options.$drop.trigger
            type: 'openDrop'

        options = $target.data('drop')

        options.$drop = $ '<div>'
        options.$drop.addClass Drop.baseClassNames.drop
        options.$drop.addClass options.className

        options.$dropContent = $ '<div>'
        options.$dropContent.addClass Drop.baseClassNames.dropContent
        options.$dropContent.append options.content

        options.$drop.append options.$dropContent
