Currently currentUser and permissions are handled imperatively and in a coupled way with their consumers. This makes it hard to test & write stories.
Instead we can refactor them to a provider/injector pattern which can make them easily mocked with mock providers, and allows us to hook into the vue life cycle.