Using a trait based system for random.