The nice thing of this plugin manager is that it handles anything: selectable, repository, service... I don't think an abstract factory can't have this flexibility because it will basically means return true all the time to "canCreateServiceWithName".