public State <TModelData> AddState(StatePredicate <TModelData> handler) { var state = new State <TModelData>(handler); _states.Add(state); return(state); }
public State(StatePredicate <TModelData> predicate) { Predicate = predicate ?? throw new ArgumentNullException(nameof(predicate)); Negative = new State <TModelData>(m => !Predicate(m)); }