1) Detect when a rule provider is null because the rule provider is accessing rules too early.
2) Lazily initialize the rules on the RuleProvider to prevent a chicken and a egg scenario.