Functions and methods that use random numbers should probably have a signature like fn pick_brightness<R: Rng>(&self, rng: &mut R, ...) and then it should call rng.gen_range.
It should provide convenience methods that use some default so specifying a Rng doesn't becomes mandatory.