Refactor publisher and handler

* converts handlers to callables (`__invoke()`)
* drastically simplifies publisher while adding generic queue