Adding _previousState ivar and changing isFinished semantic to get rid of warning 'went isFinished=YES without being started by the queue it is in'