Fiddling with DnD wrt moving between existing workflows.  About to change model so 'withParent()' is instead 'protected setParent()', meaning parent property is determined when fixing and at no other time.
Fixed underlying bug in model where children and parents wouldn't update properly when a child with a parent is given to another parent.  DnD works perfectly (as does undo/redo!)
Added a button to example controller/model for fun/demonstration.  Changed DnD so the model is only replaced if the DnD actually changes something.  This avoids losing 'redo' models when dragging something with no effect.