Add a TreeDescriptor dynamic element generating class

Implements #11