if #checkExit() invoked several times, previous exit code value will be overwritten by a new one. So, this class stores only the last exit code value. 
Also the "exitCode" field may by overwritten asynchronously from another thread. 
Hope, this is okay for the class usage scenarios.