 
 (defmethod question :multi
   [type & args]
-  (build-quesiton (MultiChoiceTask.) args))
+  (apply build-question (MultiChoiceTask.) args))
 
 (defn choice
   [value label & opts]

(ns jdecisiontree.core
  (:require [clojure.walk :refer [stringify-keys]])
  (:import [jdecisiontree DecisionTree SingleChoiceTask MultiChoiceTask]))

(defn tree
  [name first-question & questions]


(defn- build-question
  [^ITask task label text opts & choices] 
  (doto task
    (.withKey label)
    (.withQuestion text)
    (.withNext (:next opts))
    (.withChoices choices))
  (when (:readable-label opts)
    (.withReadableKey task (:readable-label opts)))
  task)

(defmulti question (fn [type & args] type))

(defmethod question :single
  [type & args]
