Still WIP but would be nice if you can take a general look
See my comment. I think we're trying to merge two separate APIs into one and shouldn't.