First scratchings around, and first go at formalizing the API.