func unwrapData(data []byte) ([]byte, RequestID, error) {
	// Unmarshal
	pbm := new(pb.PBRequest)
	err := proto.Unmarshal(data, pbm)
	if err != nil {
		return nil, nil, err
	}

	return pbm.GetData(), pbm.GetTag(), nil
}
func wrapData(data []byte, rid RequestID) ([]byte, error) {
	// Marshal
	pbm := new(pb.PBRequest)
	pbm.Data = data
	pbm.Tag = rid
	b, err := proto.Marshal(pbm)
	if err != nil {
		return nil, err
	}

	return b, nil
}