To further clarify my opinion, to me, test setup code is about establishing the state of the world (and the factories should reflect that), whereas the production CS APIs are more about state transitions.