Update the variable value before firing a changeEvent
Cleaned up FunctionVariable
Refactored GlobalEvent to EventCenter, makes for more readable Global event statements.