Used jQuery's Deferred to replace nested setTimeouts and added check to ensure randomly generated start indices are at least 10 letters away from the desired letter