func (filler *viewModelFiller) Section(node *viewmodel.SectionNode) {
	filler.object = js.Global.Get("Object").New()

	filler.object.Set("type", "section")
	filler.object.Set("label", node.Label())
	{
		availableFiller := newViewModelFiller()
		node.Available().Specialize(availableFiller)
		filler.object.Set("available", availableFiller.object)
	}

	observableNodes := ko.NewObservableArray()
	filler.object.Set("nodes", observableNodes)

	updateSubNodes := func() {
		nodes := node.Get()
		objNodes := make([]*js.Object, len(nodes))

		for index, subNode := range nodes {
			subFiller := newViewModelFiller()
			subNode.Specialize(subFiller)
			objNodes[index] = subFiller.object
		}
		observableNodes.Set(objNodes)
	}
	node.Subscribe(updateSubNodes)
	updateSubNodes()
}