11. An apparatus, comprising: a processor, communicatively coupled to a memory; wherein the apparatus is configured to perform a method comprising: loading a logical structure of questions and branches from a storage location, wherein each said question represents a single interaction between a script and a user, and each said branch represents a link between one of said questions and another of said questions; determining an arrangement of the questions and the branches of the loaded logical structure, in accordance with the loaded logical structure, for presentation to said user; determining a set of questions to be simultaneously presented to the user by performing 1), 2), 3), 4), and 5), below: 1) adding a first question to the set of questions, which is initially empty; 2) designating the first question as a previous question for a test below; 3) adding a next subsequent consecutive question after the previous question to the set of questions if the following conditions are all true, the following conditions being referred to as the test: a) the previous question has only one branch, which is to the next subsequent consecutive question; b) the next subsequent consecutive question does not depend on the previous question, or questions prior to the previous question, for text substitution; and c) the next subsequent consecutive question is not on a different page than the previous question; 4) if conditions a), b), and c) were all true, designating the next subsequent consecutive question as the previous question for the test and looping back to 3); and 5) if conditions a), b), and c) were not all true, stopping the performance of 3), 4), and 5), and adding no further questions to the set of questions; and presenting the set of questions simultaneously to the user as part of a user interface.
11. An apparatus, comprising: a processor, communicatively coupled to a memory; wherein the apparatus is configured to perform a method comprising: loading a logical structure of questions and branches from a storage location, wherein each said question represents a single interaction between a script and a user, and each said branch represents a link between one of said questions and another of said questions; determining an arrangement of the questions and the branches of the loaded logical structure, in accordance with the loaded logical structure, for presentation to said user; determining a set of questions to be simultaneously presented to the user by performing 1), 2), 3), 4), and 5), below: 1) adding a first question to the set of questions, which is initially empty; 2) designating the first question as a previous question for a test below; 3) adding a next subsequent consecutive question after the previous question to the set of questions if the following conditions are all true, the following conditions being referred to as the test: a) the previous question has only one branch, which is to the next subsequent consecutive question; b) the next subsequent consecutive question does not depend on the previous question, or questions prior to the previous question, for text substitution; and c) the next subsequent consecutive question is not on a different page than the previous question; 4) if conditions a), b), and c) were all true, designating the next subsequent consecutive question as the previous question for the test and looping back to 3); and 5) if conditions a), b), and c) were not all true, stopping the performance of 3), 4), and 5), and adding no further questions to the set of questions; and presenting the set of questions simultaneously to the user as part of a user interface. 12. The apparatus of claim 11 , further comprising an answer table or a database table linked to the apparatus and configured to store received answers.