public static function get(?string $key = null)
	{
		self::init();
		
		if ($key === null) {
			return self::$utmCookie;
		} else {
			if (mb_strpos($key, 'utm_') !== 0) {
				$key = 'utm_' . $key;
			}
			if (false === array_key_exists($key, self::$utmCookie)) {
				throw new UnexpectedValueException(sprintf('Argument $key has unexpecte value "%s". Utm value with key "%s" does not exists.', $key, $key));
			} else {
				return self::$utmCookie[$key];
			}
		}
	}