NOTE: These APIs are experiments and prototyping in progress. They will likely change a lot over the next couple of months.