initState is a good place to do asynchronous calls that we just
need to happen one time at the beginning.
So, in initStart we fetch the player and put it in a Future, and then
when (each and every time) build gets called, it uses what has
been fetched or shows the spinner if the fetch hasn't completed
successfully yet.