It's actually a quite interesting mapping exercise. I spent a couple of days watching how my friend handled his customers, and what they ordered. This was important because it comes down to decisions like do I make the menu item "Large Coffee" or "Coffee" with a size modifier group. The latter may make most sense to the developer parts of our brains, but it was completely the wrong thing for my friend, with the former, he could just stab "large coffee" and move on... Workflow trumps "correctness" in some sense.
I'm only familiar with the modifier system in BreadCrumb, which works okay, but would really benefit from conditionals, since modifier groups may have the same label, but have different pricing schemes. For instance, lattes had different price differentials between sizes than chai lattes, so two size modifier groups had to be created with those different price differences. It's not so bad until you go to create a new group, and try to find the right modifier for "Large" since you've now got 5 of them to account for all your menu differences.
Are they just addons? For instance, "add cheese" for $1 to an existing menu item? Or are modifiers something else entirely?