State machine & launcher