This feels a bit too raw to add straight to the API.