code: func (c *Client) RebootNeededSignal(rcvr chan Status, stop chan struct{}) {
  	for {
  		select {
  		case <-stop:
  			return
  		case signal := <-c.ch:
  			s, err := TryNewStatus(signal)
  			if err != nil {
  				continue
  			}
  			println(s.String())
  			if s.CurrentOperation == UpdateStatusUpdatedNeedReboot {
  				rcvr <- s
  			}
  		}
  	}
  }
docs: // RebootNeededSignal watches the updateengine status update subscription and
  // passes the status on the rcvr channel whenever the status update is
  // UpdateStatusUpdatedNeedReboot. The stop channel terminates the function.
  // This function is intended to be called as a goroutine