Adding intermediary GeneralDistMatrix for implementing routines which work for all distributions but need access to the particular distribution.