code: func newBuildListener(streamNamePrefix string, onErr func(error)) *buildListener {
  	if onErr == nil {
  		panic("onErr is nil")
  	}
  
  	streamNamePrefix = strings.TrimSuffix(streamNamePrefix, "/") + "/"
  	return &buildListener{
  		streamNamePrefix: streamNamePrefix,
  		buildStreamName:  streamNamePrefix + BuildStreamName,
  		onErr:            onErr,
  	}
  }
docs: // newBuildListener creates a build listener.
  //
  // Root build proto will be expected at "<streamNamePrefix>/build.proto".
  // All logs of its steps and of steps of sub-builds must have this prefix.