Adding clojure behavioral - template method pattern