pgmpy refactor

Why are you associating cpds and cardinalities with the base DirectedGraph class? Shouldn't it be a properties of model classes? I think DirectedGraph should just have the basic structure details of the network.