Progress on dispatcher, wrapping around core.async