code: func subscribe(sessions chan chan session, messages chan<- message) {
  	queue := identity()
  
  	for session := range sessions {
  		sub := <-session
  
  		if _, err := sub.QueueDeclare(queue, false, true, true, false, nil); err != nil {
  			log.Printf("cannot consume from exclusive queue: %q, %v", queue, err)
  			return
  		}
  
  		routingKey := "application specific routing key for fancy toplogies"
  		if err := sub.QueueBind(queue, routingKey, exchange, false, nil); err != nil {
  			log.Printf("cannot consume without a binding to exchange: %q, %v", exchange, err)
  			return
  		}
  
  		deliveries, err := sub.Consume(queue, "", false, true, false, false, nil)
  		if err != nil {
  			log.Printf("cannot consume from: %q, %v", queue, err)
  			return
  		}
  
  		log.Printf("subscribed...")
  
  		for msg := range deliveries {
  			messages <- message(msg.Body)
  			sub.Ack(msg.DeliveryTag, false)
  		}
  	}
  }
docs: // subscribe consumes deliveries from an exclusive queue from a fanout exchange and sends to the application specific messages chan.