Fixed factory method late static binding issue and so prepared for extending the RuleFactory