def save(file)
          if File.exists? file
            fail "#{file} already exists. Skipping..."
          elsif Dir.exists? file
            fail "#{file} is a directory"
          else
            directory = file.split(File::SEPARATOR)[0...-1].join(File::SEPARATOR)
            FileUtils.mkpath directory unless Dir.exists? directory
      
            callback do |response|
              inc_writes
              EM::File::write(file, response) do |length|
                @@log.info "Saving: #{file} (#{length / 1024}KiB)"
                dec_writes  
              end
            end
            get
          end
       self # Fluent interface
      end
def save(file)
          if File.exists? file
            fail "#{file} already exists. Skipping..."
          elsif Dir.exists? file
            fail "#{file} is a directory"
          else
            directory = file.split(File::SEPARATOR)[0...-1].join(File::SEPARATOR)
            FileUtils.mkpath directory unless Dir.exists? directory
      
            callback do |response|
              inc_writes
              EM::File::write(file, response) do |length|
                @@log.info "Saving: #{file} (#{length / 1024}KiB)"
                dec_writes  
              end
            end
            get
          end
       self # Fluent interface
      end
Non blocking save file,
 Pre: file exists before calling
 Post: 'url' written to 'file'