 	dimensionChangeHandler = (event) ->
 		dimensionName = $(this).attr('data-dimension')
 		dimensionValue = $(this).attr('data-value')
-		console.log 'Change dimension!', dimensionName, dimensionValue
-		skuSelectorObj.selectedDimensionsMap[dimensionName] = dimensionValue
-		console.log(skuSelectorObj.selectedDimensionsMap)
+		skuSelectorObj.setSelectedDimension(dimensionName, dimensionValue)
+		# console.log 'Change dimension!', dimensionName, dimensionValue
+		# console.log(skuSelectorObj.selectedDimensionsMap)
 		skuSelectorObj.resetNextDimensions(dimensionName)
 		selectedSku = skuSelectorObj.findSelectedSku()
 		undefinedDimensions = skuSelectorObj.findUndefinedDimensions()

		s = @findSelectableSkus()
		return if s.length is 1 then s[0] else undefined

	resetNextDimensions: (dimensionName) =>
		foundCurrent = false
		for key of @selectedDimensionsMap
			@selectedDimensionsMap[key] = undefined if foundCurrent
			foundCurrent = true if key is dimensionName

	# Renders the DOM elements of the Sku Selector, given the context
	renderSkuSelector: (context) =>

		@selectedDimensionsMap = {}
		@selectedDimensionsMap[dimension] = undefined for dimension in dimensions

		# Object of structure { dimension : [possibility] }
		@uniqueDimensionsMap = @findUniqueDimensions()

	findUniqueDimensions: =>
