A reusable choice and dialogue system