consolidate properties into model
make editable fields retain state