public function setComponent(QtiComponent $rule)
    {
        if ($rule instanceof Rule) {
            parent::setComponent($rule);
        } else {
            $msg = "The RuleEngine class only accepts to execute Rule objects.";
            throw new InvalidArgumentException($msg);
        }
    }