Async-safe selection widget