Async is nice, but will crash when pressing OK instead of Apply.
Async is nice, but you have to take into account the lifespan of everything involved. If you switch KCMs that's immediate, so now you've unloaded the KCModule and it's all a mess. Do-able but it needs thinking about carefully.