Engine changed. Threading introduced. Engine informs its listeners when its state changes to WAIT to tell them that the current player is the engine player.