I started this post a few days a go. I haven’t dug in to the details too much, and even if I did I don’t have enough background knowledge to know how well it serves the different requirements. But it seems to be well supported.
From what I’ve seen it looks very promising.