 
 (defn transition
   ([state target] (transition state target 500))
-  ([state target duration] (transition state target duration :linear))
-  ([state target duration ease]
+  ([state target duration] (transition state target duration :cubic-in-out))
+  ([state target duration easing & ease-args]
      (let [out (chan)
            tween-fn (tween state target)
-           ease-fn (get ease-fns ease)
+           ease-fn (ease easing ease-args)
            start (t/now)
            speed-target 16
            speed-tolerance 1

                 last-time start
                 wait speed-target]
                (let [since (time-since start)]
                  (put! out (tween-fn t))

                  (when (< since duration)


             :refer [put! take! <! >! chan timeout sliding-buffer]
             :as async]
            [cljs-time.core :as t]
            [cljs-time.coerce :as c]
            [bardo.ease :refer [ease]]))

(enable-console-print!)

