Without the buffer I was getting a deadlock where both this and the watchHost goroutine were waiting for a host event