factor out 'takeFocus'
Initial work on coroutine syntax transformation