protected function matchesCondition($return, $exception = null)
    {
        $matched  = false;
        foreach($this->conditions as $expression) {
            if ("isExceptionOf" === $expression["compare"]) {
                $matched = Comparator::isInstanceOf($exception, $expression["value"]);
            } else {
                $matched = Comparator::$expression["compare"]($return, $expression["value"]);
            }
            if ($matched) {
                $matched = $expression["action"];
                break;
            }
        }
        
        return $matched;
    }