Not every input message requests output. Now the logic will run for each Message, but chosenMove will be called only for actual output requests. Also a sample input file is added which can be piped into the binary for test input.