1. A computer-implemented method for generating a rule, the method comprising the steps of: generating rule element data that defines a set of choices that a user may choose for a rule element; receiving user choice data that specifies one or more choices made by the user for the rule element; and generating the rule based upon the user choice data.