All forms of randomization: Cards, Dice, Spinners, whatever are functionally the same. The simple solution is to treat all of these as decks of cards with a number of available values in the proportions you desire.
Thus: 1d6 is a 6 card deck with a card for each value from 1 to 6. A spinner with a 2/3 chance of Option 1 and a 1/3 chance of Option 2 is a deck of cards with 2 Option 1s for each Option 2.
It might be a good idea to have an option for card drawing that functionally Draws, Reveals, Replaces, and Reshuffles.
For Public vs. Private information it would probably be a good idea to simply have a switch for each player. "Known to Player X" for every player. These on-off switches can be examined at any time and changed at any time. A "Hide from all" option that changes the status to "Off" for all players and a "Show to all" option that changes the status to "On' for all players is probably a good idea.
You will also want to set up some objects as "Static" which can not be changed (the board, the pawns, that sort of thing). You will also want a default value, the three most common i can think of would be: "Hide from all", "Show to all", and "Show to current player".
More as i think of it...
Thomas
Agreed on both points. What we call it in game does not really matter. My point was one of implementation. We only need to implement a single randomizer system: the one for a deck of cards, as opposed to one for Dice, one for Spinners, etc.
Thomas