No, not events, variables. I suppose i didn't explain it quite well.
Instead of using a global variable Ball, you will put a local variable Ball in the variable manager and get the value from that object with get fsm variableType or set it with set fsm variableType. Only global variable will the the reference to the variable manager, nothing else. It has one extra step, but it keeps the project tidy. If something screws up with global variables, and usually does, you're toast.
You can also have multiple game objects for multiple variable types (player variables manager, weapon variables manager and so on) and reference them via global variables.