               file))))
 
 (defn init
-  []
-  (let [file   (ensure-config-file)
+  [config-path]
+  (let [file   (ensure-config-file config-path)
         result (not (nil? file))]
     (when result
       (reset! path (. file getAbsolutePath))

            [clojure.java.io :as io]
            [clojure.data.json :as json]
            [clojure.string :as string]
            [tames.filesystem :as fs]
            [tames.log :as log])
  (:import (java.io File InputStream)

  (. (File. @path) lastModified))

(defn ensure-config-file
  [path]
  (let [default-path (format "data/%s/%s.json" CLASS_ID DEFAULT_ID)
        file         (File. (fs/get-absolute-path (if (empty? path) default-path path)))
        dir          (. file getParentFile)]
    (cond (not (. dir exists))
