track node state for smarter union