The conversation choice reference is the closest thing there is to a link at runtime for a choice. Choices always map to a Task node, which is the NodeReference. However some tasks could potentially dynamically generate several possible choices. In that case they would do so with a unique set of NodeParameters. These would allow one task, say, "Sell N Items", where it's one task offering 3 different items for sale, and so it needs to match-up those choices with what the user chooses later. the NodeParameters would contain the dynamic data generated at runtime signifying for the server what to choose.