The DataMap captures the interactions between two or more characters expressed in terms of a covariance matrix and estimated model parameters. This is some sort of array or multidimensional matrix of ParameterValues. This is a Hidden Markov Model. A transition matrix. This is used to specify a list of allowed states (state_names), and a parallel array of their (observed?) frequencies. This is a branch in a tree (i.e. topology), to which we can attach the bits that go into a single model, but we can mix and match in order to specify a mixture model (with ratios as weight). This is a function whose output could be a constraint value or an estimated parameter (this is almost like a closure or something) This is a tree shape, we would use this to organize edges, to which we can link models.