I would find it really useful to be notified of variable changes via the subscribe mechanism.
Currently, if I want to share a variable, and know when it’s updated I need to poll your servers, which seems wasteful (and really lossy).
Instead, I’ve been publishing variables as events. This works reasonably well, but includes some work arounds. For example, I have added a ‘refresh’ method to each device so that my client software can ask for events to be republished when it starts up.
It would also be useful to clarify the exact semantics for variables. Are they checked for changes and (potentially) republished on every loop? Or just… every once in a while?
You could make a “variables updated event” which gets published if one of your variables changes. The subscribed applications can then request your variable accordingly. This way you have the benefits of variables, with the push notification style of SSEs.