forEachChild(func: (c: T) => any) {
    Object.keys(this.children).forEach(id => func(this.children[id]));
  }