It doesn’t appear that TextToSpeech has platform-specific subsystem implementations, but instead uses a factory pattern to construct smaller-scope objects that then implement an interface called by the subsystem.
My intention is to have the subsystem itself be the interface, and allow platform extensions to extend/override subsystem behavior, but because of the way subsystems are automagically detected and injected, I feel like that isn’t possible?
Could I have the platform-agnostic subsystem return false from ShouldCreateSubsystem, and then have the platform-specific implementations override that to true?