Various pubsub-related implementations are convoluted, lacking a clear separation of concern. This makes complexity high and maintenance difficult.
Code should be made less complex.
What is implied by "Decouple" ?
Reduce the amount of responsibilities per class, using less dependencies, making the code more stand-alone.