protected function invoke($object, $method, array $args, $errorname = null)
    {
        try {
            return call_user_func_array([$object, $method], $args);
        } catch (\Exception $e) {
            $errorname = $errorname ?: $method;
            $this->triggerError($errorname, $e);
        }

        return false;
    }