To add a unique ID to each overlay making overlays a list of current overlays.
overlays+=image(icon,icon_state = state)
is not removable unless you do...
overlays-=image(icon,icon_state = state)
What happens if you lose the icon though? You're doomed to an eternity of having that overlay.
So my suggestion is like so...
RemoveOverlay()
var/T = input("Which overlay would you like to remove?") in overlays+"Cancel"
if(T=="Cancel") return
overlays-=T
Where T would be a numerical-text type thing according to when it was added on.
overlays+=... = overlays+="1"
5 later...
overlays+=... = overlays+="6"
When using Remove Overlays it would show the options to remove... "1", "2", "3", "4", "5", "6"
and so on.. I suck at explaining things, I just try to throw as much of my idea out there as I can and hope you understand.