function DataStoreStage.Wipe(F)return(F._loadParent:Load(F._loadName,{})):Then(function(D)for D,t in pairs(D)do if F._stores[D]then F._stores[D]:Wipe()else F:_doStore(D,DataStoreDeleteToken)end end end)end function DataStoreStage.Store(t,F,D)if t._takenKeys[F]then error(("\091\068\097\116\097\083\116\111\114\101\083\116\097\103\101\093 - \065\108\114\101\097\100\121 \104\097\118\101 \097 \119\114\105\116\101\114 \102\111\114 \037\113"):format(F))end if D==nil then D=DataStoreDeleteToken end t:_doStore(F,D)end

function DataStoreStage:Wipe()
	return self._loadParent:Load(self._loadName, {})
		:Then(function(data)
			for key, _ in pairs(data) do
				if self._stores[key] then
					self._stores[key]:Wipe()
				else
					self:_doStore(key, DataStoreDeleteToken)
				end
			end
		end)
end

function DataStoreStage:Store(name, value)
	if self._takenKeys[name] then
		error(("[DataStoreStage] - Already have a writer for %q"):format(name))
	end

	if value == nil then
		value = DataStoreDeleteToken
	end

	self:_doStore(name, value)
end
