This is similar to variables. Custom events are explicitly declared at the graph level. And then they are referenced by the graph nodes. Example here: https://github.com/bhouston/behave-graph/blob/main/src/graphs/core/events/CustomEvents.json