I'm a little confused by this choice, because the number of goroutines running will be dependent on the number of `b.Models`. Will `b.Models` be tied to the number of CPUs?

I don't see why the goroutines building the model will be faster than this goroutine listening for values on the channel, so I'm not entirely convinced you need a buffered channel at all, but if you feel you do, it should be tied to  `len(b.models)`. Of course, if `runtime.GOMAXPROCS(0) == b.Models` there is no issue :smile:. Even then, it's worth setting `n := len(b.Models)`