Kiedy używać Provider.of <X> vs. Consumer <X> w Flutter

Ja nadal zawijania moja głowa wokół stan techniki zarządzania w trzepotanie i jestem nieco mylić o tym, kiedy i dlaczego używać Provider.of<X>Vs. Consumer<X>. Rozumiem (myślę) z dokumentacji, że wybierając między tymi dwoma, użyłbyś Provider.of, kiedy chcemy dostępu do danych, ale nie...