updated barbershop to use core.async channels rather than agent(s)