Refactor SpamRulesEnforcer so that each spam rule is in its own class