d'oh, 5 +, not 5 *
starter: pass by value

Made this by-reference because it wouldn't properly close the pipelines
before. Found the cause: a by-value mutex passed to a goroutine keeps its
"locked" state, and is not unlocked by the parent.

Fixed by using more granular locking, not surrounding the creation of the
goroutine.