This does not matter for inside the callback, the event is called ChatSwitched (past) and thus ActiveChat would always be the new chat. If the callback or something else needs the old chat, it would use it from the ChatSwitchedEventArgs. The Notebook has to push that information into ChatViewManager.ActiveChat of course, like it happens in the STFL frontend already. ChatViewManager is in charge (thus manager) and whatever it says is fact.