ColorPickerController: use sema instead of polling :)