_Messages_ are ephemeral, immutable objects that contain the following information:
1. An incrementing id that is unique per server.
2. A server.
3. A URI for the _payload being referred to_.
4. A type.
5. Any routing information.
So I could say:
Create {
id: <uuidv7>
server: <uri>
canonical_uri: <uri>
from: <originating user>
to: [<list of users>]
}
That's it. No payload. There are other fields that may be interesting here, but we're being a bit minimalist.
3/