I dig this approach overall, the only suggestion I have is to separate the navigation/redirection from the actual check. The name `isSignedIn` does not indicate a redirection is possible.