public function add($identifier, $value)
    {
        if (array_key_exists($identifier, $this->variables)) {
            throw new InvalidVariableException('Duplicate variable declaration, "' . $identifier . '" already set!', 1224479063);
        }
        if (in_array(strtolower($identifier), self::$reservedVariableNames)) {
            throw new InvalidVariableException('"' . $identifier . '" is a reserved variable name and cannot be used as variable identifier.', 1256730379);
        }
        $this->variables[$identifier] = $value;
    }