code: func Listen(senderId, apiKey string, h MessageHandler, stop <-chan bool) error {
  	cl, err := newXmppGcmClient(senderId, apiKey)
  	if err != nil {
  		return fmt.Errorf("error creating xmpp client>%v", err)
  	}
  	return cl.listen(h, stop)
  }
docs: // Listen blocks and connects to GCM waiting for messages, calling the handler
  // for CCS message that can be of interest to the listener: upstream messages, delivery receipt
  // notifications, errors. An optional stop channel can be provided to
  // stop listening.