EntityRulesAbstract refactored