I was debating that myself. Currently I use BasePluginManager for a lot of the tests, since it skips all of the file loading bits, and NotImplemented would require testing with a subclass. I think it is okay as is, since it won't fail without implementing those, but it wont do much on __init__. 

The BasePluginManager/PluginManager separating was mostly to pull out the default values and the file loading bits, so we could test the functionality without as much mocking. I don't seem much reason to use the BasePluginManager class directly aside from testing.