We know that, we need to put BlocProvider instance on top of widget tree's part, which we want to get access data inside this part of tree. What if we use all BlocProvider instance on top of whole tree, even most of them are only necessary for some small bottom parts of tree. Is it considered as mistake, because of we are passing data across whole tree(despite it is unnecessary) every time we call it, or there will be zero performance differences between putting all blocProvider on top and putting BlocProviders only on appropriate tree parts.