- MediaWiki developers (core and extensions) will benefit from clearer, more testable code
- Extension developers (in WMF and elsewhere) will have more control over the behavior of pages their extension manages.
- Quality + test engineering may be interested since we are making code more testable by removing special cases throughout the code base
- The User object is huge and has sprawling responsibilities
- We need a simple entity type for representing actors across domains
- We need serializable value objects to represent actors in events and and queues.
- Introduce an ActorStore service that can be used to instantiate UserIdentityValue objects based on rows in the actor table
- Improve code quality by reducing coupling
- Improve code health by improving testability
- Improve maintainability by modeling domain concepts clearly