Model classes and draft MMRecord implementation