code: function() {
              var parent = this.getParent();
  
              if(parent && parent.children) {
                  parent.children.splice(this.index, 1);
                  parent._setChildrenIndices();
                  delete this.parent;
              }
  
              // every cached attr that is calculated via node tree
              // traversal must be cleared when removing a node
              this._clearSelfAndDescendantCache(STAGE);
              this._clearSelfAndDescendantCache(ABSOLUTE_TRANSFORM);
              this._clearSelfAndDescendantCache(VISIBLE);
              this._clearSelfAndDescendantCache(LISTENING);
              this._clearSelfAndDescendantCache(ABSOLUTE_OPACITY);
  
              return this;
          }
docs: remove self from parent, but don't destroy
  @method
  @memberof Kinetic.Node.prototype
  @returns {Kinetic.Node}
  @example
  node.remove();