A generic interface wrapping multiple backends to provide a consistent pubsub API