1. A computer-implemented method of prioritizing choices for selection by a user, said method comprising: identifying, by a computing device, a current context of a computer program; determining, by said computing device, at least one related context that forms a hierarchical relationship with said current context; determining, by said computing device, whether there are any contexts that forms an association relationship with said current context, where each association relationship is a predetermined relationship established between contexts that is independent from the hierarchical relationship; determining, by said computing device, a user history of weighted menu choice selections with respect to said current context, each selection having a weight corresponding to a relative likelihood of the associated menu choice selection being selected by a user; receiving an indication that a user has made a menu choice selection based upon said menu choice selections of said user history associated with said current context; updating, by said computing device, said user history of said current context by updating the weight associated with said user's menu choice selection; updating, by said computing device, an associated user history of related contexts within said hierarchical relationship in which the selected user's menu choice also exists, by updating a weight associated with said user's menu choice selection in that user history by a predetermined value, wherein the value is based upon a distance from said current context within said hierarchical relationship; and updating, by said computing device, an associated user history of each related context that forms an association relationship with said current context in which the selected user's menu choice also exists by updating a weight associated with said user's menu choice selection in that user history; identifying, by a computing device, a second context of said computer program where the second context is set to the current context; determining, by said computing device, weighted menu choices in an associated user history of said second context of said computer program; and creating for presentation, a list of said weighted-menu choices for selection by said user in said second context.