An explanation:
I created the left and right squares, circles and triangles.
I defined all the possible itterations of visibility states, e.g. square - square, square - circle, square - triangle, square - off, etc....
I defined a Left and Right move parameter. Each have 4 possible increments, no grips and move a circle that is hidden for all visibility states. Essentially, the move parameters are both invisible and exist solely to give an input parameter for the left and right lookups.
I added Left and Right Lookups that have the state names (square, circle, triangle, off) and move the hidden ball to its specific location for the specific state.
I created a 'Bridge' Lookup parameter that links two lookup tables (right-click the lookup parameter tool on the palette and add two lookup actions to it). On one of the lookup tables I placed all of the visibility states and on the other table I used the two move parameters as inputs and made all of their states correspond to all of the visibility states.
Clear as mud?
Anyone have any ideas on how to simplify the method?