Consider adding a library-wide RNG right into the context! Many functions could benefit from it as they would not need to instantiate local RNGs