You’re right. The final version of the mediator (the one with the publish function) isn’t showing up in the article, for some reason.
The updated code is here: https://github.com/12ftguru/extjs-ux-mediator
You need both Ext.ux.Mediator and Ext.ux.mixin.Mediator. Then mixin the latter to your controllers.
Alternatively, you could use the EventBus that is built in to Sencha.
In that case, just have your controller do this.fireEvent(‘someevent’, someData); and have your listening controller use the listen config (not the listeners config). https://docs.sencha.com/extjs/6.0/6.0.1-classic/#!/api/Ext.app.ViewController-cfg-listen
This is something I learned about after writing the article.