An asynchronous hook/callback library for Clojure using core.async