Wrap most functionality in objects, add emitting symbols for HMM