protected function _resolveDefinition($definition)
    {
        if (!is_callable($definition)) {
            return $definition;
        }

        try {
            $args = $this->_normalizeArray($this->_getArgsForDefinition($definition));

            return $this->_invokeCallable($definition, $args);
        } catch (RootException $e) {
            throw $this->_createRuntimeException($this->__('Could not resolve definition'), null, $e);
        }
    }