Added model superclass, implemented most basic functionality

Switching machines to complete base refactoring