code: func (sa *SubackPacket) Unpack(b io.Reader) error {
  	var qosBuffer bytes.Buffer
  	var err error
  	sa.MessageID, err = decodeUint16(b)
  	if err != nil {
  		return err
  	}
  
  	_, err = qosBuffer.ReadFrom(b)
  	if err != nil {
  		return err
  	}
  	sa.ReturnCodes = qosBuffer.Bytes()
  
  	return nil
  }
docs: //Unpack decodes the details of a ControlPacket after the fixed
  //header has been read