Refactored / removed unused functions. Blanco before any listening / behavior of GUI
Visibility expression, value expression, listeners and a link to the gui inside question elements. when changing: update gui, which updates its environment and then calls guiElement.updateListeners(environment)