public function set($path, $value)
  {
    $old = null;
    if ( $nodes = explode('.', $path) ){
      $node = $this->data;

      for($i=0, $n=count($nodes)-1; $i<$n; $i++){
        if ( !isset($node->{$nodes[$i]}) && ($i != $n) ){
          $node->{$nodes[$i]} = new \stdClass;
        }
        
        $node = $node->{$nodes[$i]};
      }
      
      if ( isset($node->{$nodes[$i]}) ){
        $old = $node->{$nodes[$i]};
      }
      $node->{$nodes[$i]} = $value;
    }
    return $old;
  }