Working on FETools::extrapolate in parallel

The FETools::extrapolate function does not work in parallel, because there can be patches with childs of childs ... which are artificial, but interpolation on a patch needs dof values of this cell. The idea is, to store the dof values needed to a list, send the data around to all processes and do the interpolation patch-wise.
All functionality is implemented in a struct CellDataHelpers, so the code is a bit more readable, hopefully, but this is work in progress, maybe some parts, for example sending data around, can be done more efficient and more elegant. If someone has an idea, great!!
Because I want to send the cellid around via MPI, a string seems the easiest way to do this ... the question is, if my approach to send data around is efficient? or we should do this completely different.