First go at an API. Eventually all code will be written to use the API.