public function run()
    {
        $this->createProcess();

        foreach ($this->steps as $step) {
            if ($step[0] === self::EXPECT) {
                $expectation = $step[1];
                $timeout     = $step[2];
                $this->waitForExpectedResponse($expectation, $timeout);
            } else {
                $input = $step[1];
                $this->sendInput($input);
            }
        }

        $this->closeProcess();
    }