code: func (p *Parser) handleEvents(rawEvents <-chan []string, send chan<- event.Event, wg *sync.WaitGroup) {
  	defer wg.Done()
  	// TODO: spin up a group of goroutines to do this
  	for rawEvent := range rawEvents {
  		ev := p.handleEvent(rawEvent)
  		if ev != nil {
  			send <- *ev
  		}
  	}
  }
docs: // handleEvents receives sets of grouped log lines, each representing a single
  // log statement. It attempts to parse them, and sends the events it constructs
  // down the send channel.