every bookmark is required to have a tag
i'm not sure i understand why every bookmark would be required to have a tag, if we want to find all messages bookmarked by a specific user. if a "bookmark" is when you publish an about message which contains a tag for that message (the approach i'm exploring), then we can collect all these messages into a nested object where the first key is the user id, the second key is the tag, and the value is an array of message ids. with this nested object, we can find all messages bookmarked by a specific user by taking the first key as the specific user, and flattening on the second key to get all messages from all tags.