Revised TRulesFactory as TRulesFactory<T> and removed "<T>" from method names.
Also modified TRulesFactory<T> implementation.
Authored by: delphidabbler 2013-12-22
Parent: [r4462]
Child: [r4464]