function Trove.Clean(r)for H,o in ipairs(r._objects)do r:_cleanupObject(o[1],o[2])end table.clear(r._objects)end function Trove._cleanupObject(o,r,H)if H==FN_MARKER then r()else r[H](r)end end
--[=[
	Cleans up all objects in the trove. This is
	similar to calling `Remove` on each object
	within the trove.
]=]
function Trove:Clean()
	for _, obj in ipairs(self._objects) do
		self:_cleanupObject(obj[1], obj[2])
	end
	table.clear(self._objects)
end

function Trove:_cleanupObject(object, cleanupMethod)
	if cleanupMethod == FN_MARKER then
		object()
	else
		object[cleanupMethod](object)
	end
end
