The main drawback is that  this requires quite a bit of logic— knowing what to do in the middle,  when to reverse the process, and exactly how to reverse it.
A principal desvantagem é que requer um boa dose de lógica, saber o que fazer no meio, quando reverter o processo e exatamente como revertê-lo.