codah - that is a good workaround! ... I general I have tried to stray away from global constants as they can quickly bloat the editor with a lot of stuff. To keeps things organized I create holder objects for variables. I would probably create an object called Function strorage or something. I have alot of objects whose sole purpose is to aid in organization.
example:
Player_Physics (is the actual collision object with the physics behavior)
Player_State (tracks the players states such as in air, on ground, etc)
Player_Abilities (tracks the players upgrades and potential upgrades, like fireflower or star power in mario)
Player_Constants (a storage for unchanging variables such as walk speed, run speed, etc
Player_CurrentStats (a storage container for tracking variables such as current max speed, jump pwer etc)
Player_IsSwimming_collider
Player_inventory
Player_expandedMath (such as old position, vector maths, and so on - provides a way of knowing projection vectors and velocities in a direction other than x,y)
Global_PhysicsConstants
Global_currentPhysics
Global_GameManager
Level_State
...and on and on the list goes. Storing all those things as an event variable would be cumbersome to deal with. Keeping them all in one object, like all the player stuff in player would be a hassle too. Plus the player as well as many other in game objects are much more than one collision box.
You can have local constants and variables in groups for some particular use that will not be listed outside of their scope, that can help a lot in bigger projects.
I also prefer to have my global variables inside their own event sheet(s), you do not even have to include the event sheet where your variables are declared for it to work, so you have a list of variable and constant you can simply read and edit.