 		# Bind listeners
 		bind = ->
 			dom.window.addEventListener 'load', respondAll
-			dom.window.addEventListener 'resize', (util.debounce respondAll, opts.refreshRate)
+			dom.window.addEventListener 'resize', debounceRespondAll
+
+		# Unbind listeners
+		unbind = ->
+			dom.window.removeEventListener 'load', respondAll, false
+			dom.window.removeEventListener 'resize', debounceRespondAll, false
 
 		# Respond all elements
 		respondAll = (e) ->
 			for element in dom.elements
 				respond element
 
+		# Respond with a debounce
+		debounceRespondAll = util.debounce respondAll, b.config.refreshRate
+
 		# Respond single element
 		respond = (element) ->
-			params = parseParams (element.getAttribute opts.attr)
+			params = parseParams (element.getAttribute b.config.attr)
 
 			data = makeData element.offsetWidth, params
 
-			element.setAttribute opts.widthAttr, (data.join ' ')
+			element.setAttribute b.config.widthAttr, (data.join ' ')
 
 		# Make responsive data
 		makeData = (width, params) ->

 * Inspired by https://github.com/kumailht/responsive-elements
 * 
 * @copyright Corey Worrell 2014
 * @version   1.0.0
###

(->
	ResponsiveElements = (options) ->
		# Options
		opts =
			attr:         'data-respond'
			widthAttr:    'data-width'
			refreshRate:  50


			i = if params.interval > params.start then params.interval else ~~(params.start / params.interval) * params.interval

			width = width * (b.config.baseFontSize / b.config.rootFontSize)

			while i <= params.end
				data.push "gt#{i}" if i < width
