A toy OOP system in Clojure