So according to https://developer.mozilla.org/en-US/docs/DOM/navigator.id.watch, there's a total of six scenarios:

<table>
<tr>
<th></th>
<th>loggedInUser = undefined</th>
<th>loggedInUser = null</th>
<th>loggedInUser = email</th>
</tr>
<tr>
<th>Not logged into Persona</th>
<td>Call onlogout</td>
<td></td>
<td>Call onlogout?</td>
</tr>
<tr>
<th>Logged into Persona</th>
<td>Call onlogin</td>
<td>Call onlogin?</td>
<td></td>
</tr>
</table>

We want to avoid passing undefined because it will always result in some sort've login action happening as soon as you hit the page. So we need to somehow know on any page the JS is included in what the user's email is, and using the login button isn't good enough apparently (in case we want a page without a login button).

A few ideas:

- Include the email in a data attribute on some element that should be rendered by `browserid_js`. The problem with this is that it might break django-compressor.
- Add a new function/variable that should be included to all base templates, and add the data attribute there. This just feels hackish to me but might be our only hope.
- Store the email somewhere else, like a cookie. This is a bad idea as it would mean on a public computer a user's email address is exposed.