More elaborate use of core.async