Async menu handling robustness + tests