Adding clojure creational - abstract factory impl and test