To your question about "in tree" arrays: That should be pretty easy to support.  The `source` property (which currently is an integer, to refer to a block, or a URL, to refer to external data), could also accept nested lists containing the data itself.