protected function callFunction($functionName)
    {
        $functionArgs = func_get_args();
        $params = array_splice($functionArgs, 1);
        
        foreach ($this->plugins as $plugin) {
            $functionList = $plugin->getFunctionList();
            if (in_array($functionName, $functionList) === true) {
                return $plugin->callFunction($functionName, $params);
            }
        }

        throw new JigException("Function $functionName not known in plugins.");
    }