public function remove($key)
    {
        if ($this->has($key)) {
            $array = &$this->data;
            foreach (explode(self::SEPERATOR, $key) as $item) {
                if (array_key_exists($item, $array)) {
                    $lastArray = &$array;
                    $array = &$array[$item];
                }
            }
            
            unset($lastArray[$item]);
            if (empty($lastArray)) {
                unset($lastArray);
            }
            $this->save();
            return true;
        }
        
        return false;
    }