please tell that this happens during persisting the move (it does, right? so when caling $dm->flush, not when calling $dm->move?) and please explain in which order the events occur (preFlush preMove postMove onFlush ? )