code: func NewPubsub(pool *redis.Pool) *Pubsub {
  	ps := &Pubsub{
  		pool:   pool,
  		errs:   make(chan error),
  		closer: make(chan struct{}),
  		send:   make(chan command),
  		subs: []*RecordList{
  			PlainEvent:   NewRecordList(),
  			PatternEvent: NewRecordList(),
  		},
  	}
  
  	go ps.work()
  
  	return ps
  }
docs: // NewPubsub creates a new Emitter based on pubsub on the provided
  // Redis pool.