Suggested data model first draft

Using this pull request to collaborate on the model - we'll move it somewhere else when we've agreed on it.
Another useful positioning metric might be cursor position, viewport size and scroll