Clean up the UniqueID stuff, to avoid plumbing it everywhere

This removes the need to plumb UniqueID everywhere, instead you need to plumb FlowDef to use stats.

Still not ideal, but the pain is in testing we need a way to get stats without crosstalking between the jobs.
Maybe we should make both of this and the flowProcess below private[this] ?