Action marks exist as a type of "helper" object/node that may be used in conjunction with animations and other game specific code to perform tasks that require "relatively" precise navigation/animation to get the right "look". What an action mark does is entirely game-specific, as such the icons for Hero's Journey are HJ's own icons. Even how our action marks function is very game-specific. Action marks, like other game assets can have their selection and visibility turned on and off from the Filters menu.
The existing action mark types (other than GENERIC) may or may not be useful to your game because their visualizers are dependent upon the size/behavior of Hero's Journey's characters. For now, any "new" type of action mark you want to make would use the GENERIC type and use the action mark tag field to store a string representing the "new" type.
The general logic flow for HJ's action marks is as follows:
(NOTE: the override method is incorrectly listed as HE_OnCharacterEnteredActionMark. It is actually called HE_OnCharacterEnterActionMark. Also, HE_OnProcessCharacterHeadingDone is actually HE_OnCharacterHeadingDone.)
The floor levers function because their action marks are created from the library and know that they are part of a statefulObject, so they can find their state and toggle it.