Abstraction Rules
Abstraction Requires a Reason
AbstractBaseFactoryManagerProvider merely to reduce duplication.
multiple real implementations
clear API boundaries
platform-specific implementations
test seams
dependency inversion
shared domain contracts