public static function valueOf($str) {
			$key = get_called_class();

			if (!array_key_exists($key, self::$types))
				return null;

			$str = str_replace(array(' ', '-'), '_', trim($str));

			if (array_key_exists($str, self::$types[$key]))
				return self::$types[$key][$str];

			return null;
		}