Changed KernelApi to return coroutines where possible, simplified Select implementation.