def bind_queue!(queue_name, creation_keys, exchange_name, binding_keys, create_policies: false)
      logger.debug("Beetle: creating queue with opts: #{creation_keys.inspect}")
      queue = bunny.queue(queue_name, creation_keys)
      if create_policies
        @dead_lettering.bind_dead_letter_queues!(bunny, @client.servers, queue_name, creation_keys)
      end
      logger.debug("Beetle: binding queue #{queue_name} to #{exchange_name} with opts: #{binding_keys.inspect}")
      queue.bind(exchange(exchange_name), binding_keys)
      queue
    end
def bind_queue!(queue_name, creation_keys, exchange_name, binding_keys, create_policies: false)
      logger.debug("Beetle: creating queue with opts: #{creation_keys.inspect}")
      queue = bunny.queue(queue_name, creation_keys)
      if create_policies
        @dead_lettering.bind_dead_letter_queues!(bunny, @client.servers, queue_name, creation_keys)
      end
      logger.debug("Beetle: binding queue #{queue_name} to #{exchange_name} with opts: #{binding_keys.inspect}")
      queue.bind(exchange(exchange_name), binding_keys)
      queue
    end
TODO: Refactor, fetch the keys and stuff itself