https://www.mediawiki.org/wiki/Core_Platform_Team/Initiative/Stability_annotations
https://www.mediawiki.org/wiki/Stable_interface_policy#Stability_Annotations
**Done Criteria**
Based on usage by Production Extensions
[x] replace @private with @internal (currently, both are used synonymously) ([[https://gerrit.wikimedia.org/r/c/mediawiki/core/+/608033|patch]])
[x] replace or remove @protected as appropriate ([[https://gerrit.wikimedia.org/r/c/mediawiki/core/+/608035|patch]])
[ ] Manually compile a list of classes designed to be "newable" (value objects) ([[https://www.mediawiki.org/wiki/Core_Platform_Team/Initiative/Stability_annotations/newable|list]]). Apply tags ([[https://gerrit.wikimedia.org/r/c/mediawiki/core/+/579253|patch]]).
[ ] Mark exceptions as newable.
[ ] Manually compile a list of interfaces designed to be implemented by extensions ([[https://www.mediawiki.org/wiki/Core_Platform_Team/Initiative/Stability_annotations/interfaces|list]]). Apply tags ([[https://gerrit.wikimedia.org/r/c/mediawiki/core/+/608054/1|patch]])
[ ] Manually compile a list of classes designed to serve as extensions points (base classes) ([[https://www.mediawiki.org/wiki/Core_Platform_Team/Initiative/Stability_annotations/base_classes|list]]). Apply tags ([[https://gerrit.wikimedia.org/r/c/mediawiki/core/+/579252|patch]])
[ ] For each class, identify methods that are intended to be overwritten.