def go(&stream_block)
      @status = :running
      @results = { @host.hostname => {} }
      mktemp = exec_and_log(@host, "mktemp -d -t '#{@template}'", @sudo, @results[@host.hostname], &stream_block)

      if (mktemp[:exit_status]).zero?
        @dir = mktemp[:stdout].strip
        exec_and_log(@host, "chmod #{@chmod} #{@dir}", @sudo, @results[@host.hostname], &stream_block)
      end

      @results
    end
def go(&stream_block)
      @status = :running
      @results = { @host.hostname => {} }
      mktemp = exec_and_log(@host, "mktemp -d -t '#{@template}'", @sudo, @results[@host.hostname], &stream_block)

      if (mktemp[:exit_status]).zero?
        @dir = mktemp[:stdout].strip
        exec_and_log(@host, "chmod #{@chmod} #{@dir}", @sudo, @results[@host.hostname], &stream_block)
      end

      @results
    end
TODO: Document args
 TODO: Document block format