Added Property.
Loads of changes, implemented unit tests for models, and fixed the Model class. Now all currently implemented model code has passing unit tests.