Makes destroyItems recursive allowing it to support callbacks. Added flag to prevent multiple instances of destroyItems running, signifgantly improving performance.