General improvements, and code organization
Begin BaseModel tests (validation)