@startuml


package lml {
  PluginManager .. PluginInfoChain : registers plugin info
  PluginManager o-- PluginInfo
  PluginInfoChain -right- PluginInfo
}

package robotchef_api {
  class CuisineManager {
  + get_a_plugin()
  + raise_exception()
  }
  interface Chef {
  + make()
  }
  PluginManager <|--  CuisineManager : cuisine
  package robotchef.robot_cuisine {
    Chef <|-- Boost
    PluginInfoChain .. Boost
  }
}

package robotchef_britishcuisine {
  Chef <|-- Fry
  Chef <|-- Bake
  PluginInfoChain .. Fry
  PluginInfoChain .. Bake
}

package robotchef_v2 {
}

robotchef_v2 +-- robotchef_api

@enduml