a Clojure Component Entity System