 			when "integer"
 				integerGenerator(config.min, config.max)
 			when "set"
-				{ values, replacement, shuffle, weights }
+				{ values, replacement, shuffle, weights } = config
 				setGenerator(values, replacement, shuffle, weights)
-			when "color" then randomColor
+			when "color", "rgb" then randomColor(config.kind)
 			when "a-z", "A-Z" then randomCharacter(config.kind is "a-z")
+		if not generator
+			throw Error("#{ config.kind } not a recognized kind.")
+		else
+			generator
 
 	createGenerators: (configs, mutator) ->
 		configs[0] ?= {}

	else
		-> randomSetMemberWithoutReplacement(set)


class global.Stochator

	VERSION = "0.3.0"


	coefficient * numerator / denominator

shuffleSet = (set) ->
	values = set.copy()
	for index in [values.length - 1...0]
	    randomIndex = randomBoundedInteger(0, index)

		tmp = values[index]
		values[index] = values[randomIndex]
		values[randomIndex] = tmp

	values

floatGenerator = (min, max, mean, stdev) ->
	if mean and stdev
