Sure, the dialog closed signal would need to remain in the session implementation. The engine should not hold a pointer to the last created session and there is no need to call into the session implementation to pop up the dialog.