We've added a number of classes for MCR, and there are more that still need adding. I think we could use a review of the namespaces being used for these classes.
The current structure is:
- MediaWiki\Storage
- ---- blob access
- BlobAccessException
- BlobStoreFactory
- BlobStore
- SqlBlobStore
- ---- name table access
- NameTableAccessException
- NameTableStoreFactory
- NameTableStore
- ---- revision storage
- RevisionFactory
- RevisionLookup
- RevisionStoreFactory
- RevisionStore
- ---- revision records
- RevisionRecord
- MutableRevisionRecord
- RevisionArchiveRecord
- RevisionStoreRecord
- RevisionSlots
- MutableRevisionSlots
- SlotRecord
- ---- revision exceptions
- IncompleteRevisionException
- RevisionAccessException
- SuppressedDataException
- ---- page editing
- DerivedPageDataUpdater
- PageUpdater
- PageUpdateException
- RevisionSlotsUpdate
- MediaWiki\Revision
- ---- revision rendering
- RevisionRenderer
- RenderedRevision
That's a lot of stuff in MediaWiki\Storage, most of which is only tenuously related to "storage". Following the precedent, there's a lot more in the future that would be able to go into MediaWiki\Storage too: PageStore and all its value classes, UserStore and whatever value classes it might have, probably even EditController and so on.