            [org.javarosa.core.services.locale Localization]
            [org.javarosa.core.services.storage StorageManager]
            [org.javarosa.core.model Constants]
-           [org.javarosa.core.model.data SelectMultiData]
+           [org.javarosa.core.model.data AnswerDataFactory SelectMultiData UncastData]
            [org.javarosa.core.model.condition EvaluationContext]
            [org.javarosa.core.model.instance FormInstance]
            [org.javarosa.core.model.trace StringEvaluationTraceSerializer]
            [org.javarosa.engine XFormEnvironment]
-           [org.javarosa.form.api FormEntrySession]
-           [org.javarosa.form.api FormEntryController]
-           [org.javarosa.form.api FormEntrySessionReplayer]
-           [org.javarosa.form.api FormEntrySessionReplayer$ReplayError]
-           [org.javarosa.xpath XPathNodeset]
-           [org.javarosa.xpath XPathParseTool]
+           [org.javarosa.form.api FormEntrySession FormEntryController 
+            FormEntrySessionReplayer FormEntrySessionReplayer$ReplayError]
+           [org.javarosa.xpath XPathNodeset XPathParseTool]
            [org.javarosa.xpath.expr XPathFuncExpr]
            [org.javarosa.xpath.parser XPathSyntaxException]
            [org.commcare.session SessionFrame]

(defn show-event [entry-controller step-func]
  (helpers/clear-view)
  (let [event (.getEvent (.getModel entry-controller))]
  (cond
    (= event FormEntryController/EVENT_BEGINNING_OF_FORM) (println "Form Start: Press Return to proceed")
    (= event FormEntryController/EVENT_END_OF_FORM) (println "Form End: Press Return to Complete Entry")
                ;;mProcessOnExit = true;
    (= event FormEntryController/EVENT_GROUP) (do (step-func entry-controller)
                                        (show-event entry-controller step-func))
    (= event FormEntryController/EVENT_QUESTION) (show-question (.getQuestionPrompt (.getModel entry-controller)))
    (= event FormEntryController/EVENT_REPEAT) (do (step-func entry-controller)
                                         (show-event entry-controller step-func))
    (= event FormEntryController/EVENT_REPEAT_JUNCTURE) (println "Repeats Not Implemented, press return to exit")
    (= event FormEntryController/EVENT_PROMPT_NEW_REPEAT) (new-repeat-question))))

(defn display-relevant [entry-model]
  (let [debug-info

  (let [user-input (read-line)]
    (when (if (string/starts-with? user-input ":")
            (process-command entry-controller (subs user-input 1))
            (answer-question entry-controller user-input))
      (recur entry-controller))))

;; FormDef CommCareSession String String -> None
