public function registerPostCompileCallback($callback, $parameter = array(), $key = null, $replace = false)
    {
        array_unshift($parameter, $callback);
        if (isset($key)) {
            if ($replace || !isset($this->postCompileCallbacks[$key])) {
                $this->postCompileCallbacks[$key] = $parameter;
            }
        } else {
            $this->postCompileCallbacks[] = $parameter;
        }
    }