(This is a rookie question, sorry if my question is based on wrong or inaccurate premises).
Now, let's imagine that the execution endpoint triggers something asynchronous (e.g., sending an e-mail message to an end-user). The result of this action would be expressed as a status, or multiple statuses (e.g. message sent, message received, message read, link clicked...). These results would be asynchronous (that is, obviously the execution endpoint won't be able to return these statuses synchronously).
1) How to communicate these asynchronous results back to Journey Builder? Should I use the Custom Events and/or Custom Triggers feature, and how? (these two features are mentionned in some places, but without any comprehensive documentation I can find.)
2) Once communicated back to Journey Builder, how to use my custom statuses in Journey Builder flow conditions AND statistics?