classDiagram Environment <|-- Factory Environment: <> Factory: <> Resource <|.. Service Resource: <> Resource: +type Config Resource: +type Customizer Service: <> FromEnvironment <|-- DescFromEnvironment FromEnvironment <|-- AutoDeriveFromEnvironment DescFromEnvironment <|-- PrefixedFromEnvironment FromEnvironment <|.. IsProperty IsProperty <|.. EnumProperty FromEnvironment: <> FromEnvironment: +from_env() DescFromEnvironment: <> DescFromEnvironment: +key_desc() PrefixedFromEnvironment: <> PrefixedFromEnvironment: +prefix() IsProperty: <> IsProperty: +from_property() IsProperty: +is_empty() EnumProperty: <> EnumProperty: +str_to_enum()