Use promises to more cleanly determine when auth and load has happened.