ensure willDestroy happens in action queue so live
objects have a chance to respond to it before destroy

addresses #2517