It is trivial to make these distributions a subtype of Distribution from Distributions.jl. You get some methods for free. For instance, by defining the method rand(::SomeDist) you automatically get rand(::SomeDist, ::Int), etc. to generate arrays of random objects (matrices in this case.) I don't know if there are other useful generic methods.
The disadvantage is a dependency on Distributions.jl.