object LayerMenu is components: ShowAll and HideAll and Add and Remove and Edit and CreatedLayers; description: (* These components are the functions available in the Layer Menu *); end LayerMenu; operation ShowAll is inputs: Map; outputs: Map; description: (* Allows the user to show all the layers on the map at once. *); end ShowAll; operation HideAll is inputs: Map; outputs: Map; description: (* Allows the user to hide all the layers on the map at once. *); end HideAll; operation Add is inputs: NewLayer; outputs: Layer; description: (* Allows the user to add a new layer to the existing map. *); end Add; operation Remove is inputs: Map; outputs: Map; description: (* Allows the user to remove an existing layer. *); end Remove; operation Edit is inputs: Map; outputs: Map; description: (* Allows the user to edit a current layer. *); end Edit; object CreatedLayers is components: Layer*; description: (* This part of the layers menu has a dynamic list of layers that changes as the user adds or removes layers from the map. *); end CreatedLayers;