public StateFluentBuilder(IBuilderFactory factory, TOuterBuilder outerBuilder, Action <IState> builtAction) { _factory = factory ?? throw new ArgumentNullException(nameof(factory)); _builder = factory.CreateStateBuilder(null); _outerBuilder = outerBuilder; _builtAction = builtAction; }