Currently we need to hook into the socket to mark as user online when:
- They connect & authenticate
and offline when:
- When the socket disconnects
- When they logout
- When they haven't been authenticated or done anything for a while (ie. token expires maybe?)