Another way to pass data is the "Event Bus" pattern:
In a singleton (autoload) called gd define all your events as signals
e.g.
```signal player_died
signal player_collected_item item```
Then in game trigger events like this:
`GameEvents.player_died.emit()`
Then in other nodes listen for the event like so:
`GameEvents.player_died.connect(self._player_died)`