protected function createMemcachedDriver(string $name, Prop $config)
	{
		$memcached = new \Memcached($config->getOr("persistent_id", null));

		if($config->isArray("options"))
		{
			$memcached->setOptions($config->get("options"));
		}

		if($config->getIs("username") && method_exists($memcached, "setSaslAuthData"))
		{
			$memcached->setSaslAuthData(
				$config->get("username"),
				$config->getOr("password", "")
			);
		}

		if($config->isArray("servers"))
		{
			$memcached->addServers($config->get("servers"));
		}
		else
		{
			$memcached->addServer(
				$config->getOr("host", "127.0.0.1"),
				$config->getOr("port", 11211),
				$config->getOr("weight", 0)
			);
		}

		return new MemcachedStore(
			$memcached,
			$name,
			$config->getOr("prefix", ""),
			$config->getOr("life", 0)
		);
	}