Maid pattern
Published onMaids 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)