A Model is only required to have a constructor for the initial creation of the model and a fitness()
method which takes a set of points and evaluates the fitness of the set relative to the internal model. The better the model fits the data, the higher the score.