Modified model classes to become more testable (public virtual methods, extendable classes, etc.)
Created first iteration of unit tests.