Redraw must not be immediate
Fix handling modifiers
Fix some return values, to allow testing