Preliminary work on backend model and API.