Factored out LogInButton
Factored out ApiModule
Use fetch polyfill instead of qwest
mmm dem promises
replaced a bit more qwest