title: Storing app wide instance. Static field vs pass instance as argument
body: <p>Say I have an instance of a class which i need access to in many different places of my app. I have come up with three solutions so far</p>
  <ol>
  <li>Passing the instance as an argument in every class of the app</li>
  <li>Making a top level Provider above the MaterialApp-widget that exposes the instance to every method that has access to the app's context</li>
  <li>Storing the instance in a static field</li>
  </ol>
  <p>Which way is the best performance wise? Will the Flutter-framework ever discard the instance stored in the static field?</p>