simplify redraw logic to always be async