ros nodelets with de-init callbacks while ros is still alive to ensure nodes can destruct and clean up their ros stuff first