Схемата трябва да работи добре, стига да няма твърде много получатели на едно и също съобщение. Не виждам как бихте могли да го направите много по-малък или по-ефективен.
Единственият проблем с производителността, който виждам, е, че ако искате да правите излъчване, тоест да изпратите същото съобщение до голяма група или, да речем, всеки потребител в системата. Изпращането на такова съобщение ще бъде много бавно (бях там, направи това). В такъв случай бих проследил състоянието на такива глобални съобщения мързеливо, тоест ще създам реда за състоянието за отделен потребител само след като той отвори съобщението. Но ако не сте планирали такава функция, бих казал да игнорирате този проблем засега.