icarus.py: Use Launcher instead of calling subprocess directly