Refactored to use cljx hooks.