Provides the interface Model and its abstract implementation AbstractModel, which is the super class of all other models. The Model interface defines how to obtain a probability for a sequence and how to train the parameters of the model using a Sample. Any combination of Models can be used to build a ModelBasedClassifier, which can be evaluated in a ClassifierAssessment.