Container classes like ListView handle the placeholder case for empty results. I'm using a special "selected" property which I can then go over later to untangle the user operation. I've also put keys and identifiers alongside the Nodes with properties.