remove rabbitMQ dependence - and use callback so author can add their own backend