When can it be `None`? I thought that only happens on `session_event == TransportUserMessage.SESSION_NEW` which in this case is handled by `new_session()` ?