my implementation of tasks for closure course ( http://www.facebook.com/groups/clojure.course )