code: func (q *Queue) CallbackWatchContext(ctx context.Context, matcher events.Matcher) (eventq chan events.Event) {
  	c, cancel := q.CallbackWatch(matcher)
  	go func() {
  		<-ctx.Done()
  		cancel()
  	}()
  	return c
  }
docs: // CallbackWatchContext returns a channel where all items published to the queue will
  // be received. The channel will be closed when the provided context is
  // cancelled.