make in-memory backend data and subscribers global
use global unlimited connection pool for redis backend, use one listener per backend instance (instead of one per channel!)
remove silly backend factory fn