1. An apparatus comprising a processor and a memory storing a computer program, the memory and computer program being configured to, with the processor, cause the apparatus to at least: receive text input data; cause the text input data to be displayed; cause a precursor to be defined as one or more words; reference a dictionary containing a plurality of entries, each said entry including an index, and a candidate word; select a list of n-number of candidate words from said dictionary whose index matches the precursor, where n≧1; either: in an instance in which m>n and the precursor comprises two or more words: cause n-number of candidate words from said list of candidate words to be displayed, cause the precursor to be shortened by causing one or more words to be deleted from the precursor, select a supplemental list of candidate words from said dictionary whose index matches the shortened precursor, and cause m−n number or less of said supplemental candidate words to be displayed; or, in an instance in which n>m: cause the precursor to be lengthened by causing one or more words to be added to the precursor, select an alternate list of candidate words from said dictionary whose index matches the lengthened precursor, and cause m-number or less of candidate words from the alternate list to be displayed; and cause a prompt to be displayed, the prompt enabling a user to either select one of the displayed candidate words or enter a desired word; wherein m comprises a maximum number of candidate words capable of being caused to be displayed.