Refactor channel reads/writes, double up on workers