ProximityPromptService.Enabled does not disable custom ProximityPrompts?

When you disable the ProximityPrompts, they don’t actually disappear or disable.

function PromptController:Toggle(enabled)
	self.Enabled = enabled
	
	ProximityPromptService.Enabled = enabled
end

Shown here, it’s disabling the default ProximityPrompt object, but not my custom ones (have the Style set to Custom)
ezgif.com-gif-maker


It’s clearly deleting the default PP, but not my custom ones. They all appear under the same folder, same names, etc.

I create them through this function

function PromptController:Create(prompt)
	local Gui = UI.Cloned.Prompt:Clone()
	
	Gui.List.Action.Text = prompt.ActionText
	
	Gui.Adornee = prompt.Parent
	Gui.Parent = ProximityPrompts
	
	return Gui
end
--// Prompt shown
	ProximityPromptService.PromptShown:Connect(function(prompt)
		if self.VisiblePrompts[prompt] then return end -- Already gui for this prompt
		
		local Gui = self:Create(prompt)
		
		self.VisiblePrompts[prompt] = Gui
	end)

Since it is a custom prompt gui, you as the developer are responsible for showing it AND hiding it. You already have the logic for creating the gui on PromptShown, so now you need to destroy it on PromptHidden.

For example:

ProximityPromptService.PromptHidden:Connect(function(prompt)
    if self.VisiblePrompts[prompt] then
        self.VisiblePrompts[prompt]:Destroy()
    end
end)

Alternatively you could create the gui once and set Enabled to true/false within the event handlers in order to reduce the amount of creating and destroying that happens.
Then you could also keep an object pool of these guis in order to reduce the number of guis that you have to create.