Eric says it's really simple; there's really only two kinds of modes, those which are preferred and those which aren't. That sounds good to me, so I'll just make one list of modes for each output and then place the preferred ones first (with a single integer indicating how many of the modes are preferred). Easy, cheap and about to be implemented.