public function addFeedbackFromValidation(ModelInterface $obj, $filters = null)
    {
        $validator = $obj->validator();
        $levels    = [ ModelValidator::ERROR, ModelValidator::WARNING, ModelValidator::NOTICE ];

        if (is_string($filters) && in_array($filters, $levels)) {
            $results = call_user_func([ $validator, $filters.'Results' ]);
            foreach ($results as $result) {
                $this->addFeedback($result->level(), $result->message());
            }

            return $this;
        }

        if (!is_array($filters) && $filters !== null) {
            throw new InvalidArgumentException(
                'Filters must be an array of validation levels or NULL'
            );
        }

        $validation = $validator->results();
        foreach ($validation as $level => $results) {
            if ($filters === null || in_array($level, $filters)) {
                foreach ($results as $result) {
                    $this->addFeedback($result->level(), $result->message());
                }
            }
        }

        return $this;
    }