Gente, to estudando redux e pelo oque eu entendi, redux uma arquitetura de programação para que os componentes possam interagir entre si sem quebrar a hierarquia? Dessa forma, quando um state for alterado, será alterado em todos os outros lugares que usam esse componente sem que a hierarquia seja quebrada, mas no curso da Alura, é usado o pubsub para mudar o state em todos os lugares do projeto através de publish e subscribe, então o pubsub tira a necessidade de usar redux?