Logo with title ".Blog"

Maid pattern

Published on

Maids are a pattern.

local maid = {}

local function finish(maid)
	for _, task in pairs(maid) do
		task()
	end
	table.clear(maid)
end

local conn = button.Activated:Connect(listener)
maid.activated = function() conn:Disconnect() end

instance.Parent = parent
maid.instance = function() instance:Destroy() end

local otherMaid = {}
otherMaid.maid = function() finish(maid) end

finish(otherMaid)