To make this possible, they are registered in the Target Registry. Upon successful registration, a target receives an ID, the target ID (TID for short). It is possible to give constant TIDs to targets during registration, but usually a random ID generated by the target registry is sufficient.
All messages are sent asynchronously.
Many targets process a whole range of messages. So that the messages do not have to be processed cumbersomely in a long method, there is a MessageHandler registry in each target. Here, methods can be mapped to messages, which greatly simplifies and unifies the structure of targets.