O jeito mais simples na minha opinião é signals, porque são praticamente identicos a variaveis normais so que quem usa a variavel consegue se atualizar quando a variavel muda de valor.
Pacote signals:
https://pub.dev/packages/signals
Suporte a flutter do pacote signals:
https://dartsignals.dev/flutter/watch/
Eu não quero coisas overengineered, quero a solução mais simples para o problema que eu tenho, claro preparando para mudanças futuras mas não demasiado porque é um balanço entre extensibilidade, velocidade e performance.
No caso dos signals podes apenas ter uma variavel em um arquivo dart acessivel na apliação inteira que tu consegues ouvir por mudanças e a API é super simples.