Hum, le fait est que quand tu logout(). $_SESSION['ServiceBase'] est détruit.
Mais si tu ne refais pas un $this->application = $SESSION... Bah il continue de pointer sur l'application (idem pour l'user)

Donc tu ne délogues pas. Tu vas déloguer dans le service ou tu as appelé logout, mais pas dans les autres services, à chaque wakeup il faut initialiser le service.

Et a terme, quand on aura virer le fait de mettre les services en session dans le dispatcher on appelera plus que __contruct et on pourra virer __wakeup.

Mais la y'a une faille de sécurité si on appel pas __construct() au moment du __wakeup()