[I had text here but in the edit it dissapeared ]
I found that there can only be one instance of the EventQueue. This meant that all the widget events need to be handled in a single location leading to possible complications in code and lowering the possibility to dynamic things. This script allows the developer to subscribe to an eventqueue manager and get their event safely, without usurping all gui controls.
The script will automatically create an EventQueueManager variable that all other scripts can expect.
To use it from a script not attached to an entity use:
EventQueueManager:AddListener(Update) -- a simple function
On a script attached to an entity or a lua based class use:
EventQueueManager:AddListener(serverbrowser.Update) -- convert : into .
Place the script into a file at: Scripts/Functions/eventqueuemanager.lua