SMIL State provides a set of modules whereby a document author may create more complex control flow than what SMIL provides through the timing and content control modules, without having to go all the way of using a scripting language. One way to provide this is to allow a document to have some explicit state (think: variables) along with ways to modify, use and save this state. Application areas of SMIL State include things like quizzes, interactive adaptation of presentations to user preferences, computer-aided instruction and distant learning.