Refactored Property model.