// This method removes a screen from the application // and cleans up resources related to this screen private bool removeScreen(IScreen screen) { if (!screen.CanClose()) { return(false); } _events.RemoveListener(screen); _screens.Remove(screen); _shellService.ClearTransient(); return(true); }