     hide: -> @el.hide()
 
     create: ->
-        """
+        ###
         Create the bookmarklet for the first time
-        """
+        ###
 
         # Life is too short to generate HTML in Javascript
         @el = $("""

        @el.hide().appendTo(@container).slideDown()

    current_pattern: ->
        """
        Return the currently selected pattern
        """
        @category_patterns()[@curr]

    update: =>
        """
        Update the currently selected pattern. This is generally called on first
        initialization and any time a next() or previous() call is made.
        """
        pattern = @current_pattern()

        # TODO: This might be too brittle to work across lots of websites...

class SubtlePatternsBookmarklet
    ###
    This is the bookmarklet the user see's and uses to control patterns. This could use
    Knockout or Angular, but since it's a bookmarklet we'll keep it light with jQuery
    ###

    constructor: (@patterns) ->
        @curr = 0

    setup: (kwargs={}) ->
        ###
        Handle initial setup outside of constructor
        ###
        @container = kwargs.container or "body"
        @klass = kwargs.klass or ""
        @create()
