Component runner - handle async tasks