Rename *BehaviorBuilder to *BehaviorExpression.
The ConstructionFrequency enum is public.
Add ConfigModel to represent the mutable state being configured by the convention DSL.  Initially, it owns only the ConstructionFrequency value.
ConfigModel owns the factory func that is updated via ClassBehaviorExpression.
ConfigModel owns the OrderCases action that is updated via ClassBehaviorExpression.
Rename private fields of *Expression classes to differentiate between them during an upcoming refactoring.
ConfigModel owns the list of class-wrapping behaviors that is updated by ClassBehaviorExpression.
ConfigModel owns the list of instance-wrapping behaviors that is updated by InstanceBehaviorExpression.
ConfigModel owns the list of case-wrapping behaviors that is updated by CaseBehaviorExpression.
ConfigModel owns the case-skipping predicate and case-skipped-reason func that are updated via CaseBehaviorExpression.
ExecutionPlan, not ConfigModel, is responsible for building up the execution-time behavior chains.
Move the DSL classes (*Expression) to their own namespace.