def fuse(name, config = {})
      raise "Fuse with this name is already registered" if @fuses.include?(name)

      config = @default_fuse_config.merge(config || {})
      @fuses[name] = CircuitB::Fuse.new(name, state_storage, config)
    end
def fuse(name, config = {})
      raise "Fuse with this name is already registered" if @fuses.include?(name)

      config = @default_fuse_config.merge(config || {})
      @fuses[name] = CircuitB::Fuse.new(name, state_storage, config)
    end
Adds a fuse with a given name and custom config.
 If the fuse with the same name is already there, the RuntimeError is raised.
 The values of the provided configuration are used to override
 the default configuration that can be set with #default_fuse_config.

   CircuitB.configure do |c|
     c.fuse "directory-auth", :on_break => lambda { notify_hoptoad(...) }, :allowed_failures => 5
     c.fuse "image-resizing", :allowed_failures => 2, :cool_off_period => 30
   end