I need to migrate all the dependent properties code to computed properties. For now, bindings are the only way that works both before and after. In this case, there would be nothing to gain from a computed property in FRB over a binding.

I think we will want a "lazy binding" in the future. A lazy binding would probably be expressed as a property descriptor that looks like a binding descriptor, e.g., `{"<-": "_undoStack.length", lazy: true}`. Without the "lazy", the binding would be added to a table of binding descriptors to define during instantiation, like `distict` adds to a table of properties to clone and assign during instantiation. With the "lazy", it would define the binding on first access, which would also take care of the case where it's used as a source for a binding. If it’s one way, we’d just define a getter; two-way, define both a getter and a setter.

For now, I recommend a binding in didCreate.