                 .removeClass(o.opts.wrappedClass)
                 .trigger "decompress.#{ pluginName }"
 
+        o.generateRandomKey = ->
+            Math
+                .random()
+                .toString(36)
+                .substring 7
+
         _this.getState = ->
-            state = o.el.data stateKey
+            state = o.el.data o.stateKey
 
             return if typeof state is "undefined" then 'decompressed' else state
 


                items = current.children 'li'

                current.data stateKey, 'compressed'

                # slice the items beginning to the second element up to the second to the last element
                hiddenItems = items

        o         = ($ el).data '_obj', {}
        _this     = this
        metadata  = ($ el).data "#{ pluginName.toLowerCase() }-options"

        o.debug = ->
            # Skip browsers w/o firebug or console
