the observer pattern is working; next TODO: keep track of a boolean (user signed in)