anchor.diff:  
   `timestamp` and `id` are not defined by the producer but are assigned by the streaming platform.
   They allow to identify the message inside `Reactivity` system and to know when it has been published by the consumer.
  +
  +Therefore, a producer can generate a message that simply have this structure:
  +
  +
  +    {
  +		    "version" : "...",
  +		    "event" : "...",
  +		    "data" : "...",
  +		    "tag" : "..."
  +    }
  +	
  +=== tag
  +
  +Since the `id` is not generated by the producer, it's not possible for him to recognize a produced message when it's received through another channel.
  +The `tag` allows him to address this issue.
  +The producer can associate a random value that looks like an unique UID to the `tag` attribute, allowing him to implement a kind of acknowledgment for the produced message.
  +This is particularly handy for web applications that receive a message previously produced.
  +In fact, the web application acts as a producer who expects to receive its own messages sent from the broadcaster.
  +
  +    +----------------------------+ SSE - Consume message A  +-----------------+
  ++-->|     Topic ---> Broadcaster |------------------------->| Web Application |
  +|   +----------------------------+                          +-----------------+
  +|                                                                    |
  +|   +---------------------------+                                    |
  +|   |                           |         Produce message A          |
  ++---+           KAFKA           |<-----------------------------------+
  +    |                           |
  +    +---------------------------+
  +
  +In this figure, we see that the message `A` produced by the web application is received from the broadcaster.
  +With the `tag` attribute whose value won't have been changed, the web application will be able to recognized it and to treat it differently comparing to the messages produced by other instances.
  +For example, the web application can perform an optimistic change on the UI as soon as the message is sent, giving a better feeling of performance to the user.
  +When the message is received, the web application can simply ignore it.
  +The web application can also raise an error if the message is never received (timeout), which means that the message has possibly been discarded for any reason.
   
   === Extensions
   
  
positive.code: 		    "event" : "The event type here",
  		    "data" : "The data here",
  		    "timestamp" : "The event timestamp",
  		    "id" : "The event ID"
      }
  	
  === version
  
negative.code: * `organization`: the topic where events related to `Organization` are published  
  * `artifact`: the topic where events related to `Artifacts` are published
  
  This statement is true only when the client produce and consumes data directly from/to the topic (through `Kafka`).
  However, there is the particular case of a WEB application subscribing to a source of events comming from a suspended `SSE` connection from the server.
  
           +--------------+-------------+
  +------->|     Topic    |             |
  |        +--------------+             |       +-----------------+
  |        |     user     | Broadcaster |  SSE  |                 |
  |        | organization |             |------>| Web Application |
  |        |   artifact   |             |       |                 |
  |        +--------------+-------------+       +-----------------+
  |
  |        +---------------------------+
  |        |                           |
  +--------+           KAFKA           |
           |                           |
           +---------------------------+
  
  In this simple diagram we can see that the `Broadcaster` is consuming different topics from `Kafka`.
  When a message is received, it's pushed to the web application that established a `SSE` connection.
  The only chance for the web application to understand the type of data represented by a received message is to find `topic` attribute in the `JSON`.
  
      {
  		    "topic" : "organization|user|artifact"
  		    "version" : "...",
  		    "event" : "...",
  		    "data" : "...",
  		    "timestamp" : "...",
  		    "id" : "...",
  		    "tag" : "..."
      }
  		 
  === data
  
  The `data` contains the payload of the event provided by the producer.
  