The Wikibase\Item class currently models the item data and also handles database updates and other things that will only work on the repository.
In the light of the imminent refactoring of ContentHandler, moving more functionality into the Content class, it seems like a good idea to refactor Item as well:
- put all code related to the data structure as such into the Item or ItemData class.
- put all code related to rendering, editing and storing into the ItemContent class, which implements Content and wraps an instance of ItemData.
There could be an interface (Item?) shared by both, but that may cause more confusion than it actually helps (see the Page vs WikiPage mess).
Whiteboard: storypoints: 21