```text
//Содержит непосредственно инфу о ресурсе
Subscription {
    String name; //telegram
    NetworkScope scope;
}

SubscriptionQueryResult{
    bool isUpdated()
    NetworkScope get()
}

//Протокол, по которому загружаются подписки (git, rest, local, etc)
SubscriptionProviderProtocol {
    //impl
    string protocolId;
    bool get(config) //true if updated
}

SubscriptionProvider{
    private SubscriptionProviderConfig config;
    private SubscriptionProviderProtocol protocol;
    
    List<Subscription> get();
    void update();
    event updated();
}

//Конфиг Провайдера подписок
SubscriptionProviderConfig {
    string protocolId;   
    Properties properties; 
}

//репозиторий конфигов
SubscriptionProviderConfigRepository{

}

```