separate PackageConsumerInterface from PluginInterface
Further separate PluginInterface from PackageConsumerInterface.