Refactor all implementations of RuleInterface to extend Rule